最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言編程題楊氏矩陣算法快速上手示例詳解

 更新時(shí)間:2021年10月22日 16:07:00   作者:高郵吳少  
這篇文章主要為大家介紹了C語言編程題楊氏矩陣算法快速上手的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

題目概要

有一個(gè)數(shù)字矩陣,矩陣的每行從左到右都是遞增的,矩陣從上到下都是遞增的,請(qǐng)編寫程序在這樣的矩陣中查找某個(gè)數(shù)字是否存在?

一、解題思路

對(duì)于查找一個(gè)數(shù)組中元素是否存在,很多同學(xué)第一想法就是從頭到尾遍歷一遍。這樣的想法優(yōu)點(diǎn)是代碼簡(jiǎn)單且無腦容易上手,但是這樣的缺點(diǎn)也很明顯,比如是m *n的數(shù)組,你從頭到尾遍歷,最壞情況要找m *n次。題目給的相關(guān)條件比如從左向右遞增,從上向下遞增你也完全沒有使用,這樣的暴力求解顯然不是我們想看到的

我們來介紹一種方法,以下列二維數(shù)組進(jìn)行舉例
1 2 3
4 5 6
7 8 9
根據(jù)矩陣的每行從左到右都是遞增這個(gè)特性,我們知道矩陣的每一行最后一個(gè)數(shù)都是該行最大的,比如上面這個(gè)矩陣的3,6,9。對(duì)于7是否在這個(gè)矩陣中,我們可以與每行的最后一個(gè)數(shù)比較,如果7小于當(dāng)前行,則在當(dāng)前行遍歷,否則進(jìn)行與下一行最后一個(gè)數(shù)的比較,如果最后一行都小于7說明7是不在該矩陣中的

二、具體代碼

代碼如下(示例):

#include<stdio.h>
void find(int arr[3][3], int k,int h,int l)//h和l分別表示行和列
{
	int x = 0;//第一行橫坐標(biāo)
	int y = l - 1;//第一行最后一列縱坐標(biāo)
	for (x = 0,y = l - 1;arr[x][y] < k&&x<=h-1;x++)//判斷條件多加一個(gè)x<h-1是防止越數(shù)組訪問
	{
		;//過濾掉無用的行
	}
	if (x == h)//x==h說明所有行都不匹配
	{
		printf("該數(shù)組沒有這個(gè)數(shù)\n");
	}
	else if(arr[x][y]>k)
	{
		int i = 0;
		for (i = 0;i < l;i++)
		{
			if (k == arr[x][i])
			{
				printf("找到了,該數(shù)在第%d行,第%d列", x+1, i + 1);
			}
		}
	}
	else if (arr[x][y] == k)
	{
		printf("找到了,該數(shù)在第%d行,第%d列", x + 1, y + 1);
	}
}
int main()
{
	int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
	int k = 0;
	printf("請(qǐng)問你要查找的數(shù)是:");
	scanf("%d", &k);
	find(arr, k, 3, 3);
}

以上就是C語言編程題楊氏矩陣算法快速上手示例詳解的詳細(xì)內(nèi)容,更多關(guān)于C語言編程楊氏矩陣算法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言實(shí)現(xiàn)運(yùn)動(dòng)會(huì)管理系統(tǒng)

    C語言實(shí)現(xiàn)運(yùn)動(dòng)會(huì)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)運(yùn)動(dòng)會(huì)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • EasyX繪制透明背景圖的方法詳解

    EasyX繪制透明背景圖的方法詳解

    這篇文章主要為大家詳細(xì)介紹了EasyX繪制透明背景圖的方法,文中的示例代碼講解詳細(xì),對(duì)我們深入了解EasyX有一定的幫助,需要的可以參考一下
    2023-01-01
  • C語言中通用工具庫(kù)stdlib.h的一些常用函數(shù)

    C語言中通用工具庫(kù)stdlib.h的一些常用函數(shù)

    這篇文章主要給大家介紹了關(guān)于C語言中通用工具庫(kù)stdlib.h的一些常用函數(shù),stdlib.h頭文件包含了許多C標(biāo)準(zhǔn)庫(kù)函數(shù)的原型聲明和宏定義,這些函數(shù)主要與動(dòng)態(tài)內(nèi)存分配、隨機(jī)數(shù)生成、進(jìn)程控制、字符串轉(zhuǎn)換等相關(guān),需要的朋友可以參考下
    2024-01-01
  • 詳解C++何時(shí)需要拷貝構(gòu)造函數(shù)

    詳解C++何時(shí)需要拷貝構(gòu)造函數(shù)

    拷貝構(gòu)造函數(shù)是一個(gè)特殊的構(gòu)造函數(shù),用于創(chuàng)建一個(gè)新對(duì)象,該對(duì)象與另一個(gè)同類對(duì)象具有相同的屬性和值,在 C++ 中,拷貝構(gòu)造函數(shù)通常采用另一個(gè)同類對(duì)象作為參數(shù),并使用該對(duì)象初始化新對(duì)象,本文給大家講講何時(shí)需要拷貝函數(shù),需要的朋友可以參考下
    2023-09-09
  • opencv車道線檢測(cè)的實(shí)現(xiàn)方法

    opencv車道線檢測(cè)的實(shí)現(xiàn)方法

    這篇文章主要介紹了opencv車道線檢測(cè)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • C語言進(jìn)階:指針的進(jìn)階(2)

    C語言進(jìn)階:指針的進(jìn)階(2)

    這篇文章主要介紹了C語言指針詳解及用法示例,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價(jià)值。需要的朋友可以了解下
    2021-09-09
  • C語言猜兇手及類似題目的實(shí)現(xiàn)示例

    C語言猜兇手及類似題目的實(shí)現(xiàn)示例

    本文主要介紹了C語言猜兇手及類似題目的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++超詳細(xì)講解數(shù)組操作符的重載

    C++超詳細(xì)講解數(shù)組操作符的重載

    C 語言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,賦值操作符,單目操作符,關(guān)系操作符,邏輯操作符,條件操作符等。接下了讓我們探究一下數(shù)組操作符的重載
    2022-06-06
  • c++歸并排序詳解

    c++歸并排序詳解

    歸并排序遵循分治法的思想:將原問題分解為幾個(gè)規(guī)模較小但類似于原問題的子問題,遞歸地求解這些子問題,然后再合并這些子問題的解來建立原問題的解。分治模式在每層遞歸時(shí)都有三個(gè)步驟:分解、解決、合并。歸并排序完全遵循該模式。
    2017-05-05
  • 關(guān)于PCL出現(xiàn)"無法找到?pcl_commond.dll?文件程序無法執(zhí)行"的問題及解決方法

    關(guān)于PCL出現(xiàn)"無法找到?pcl_commond.dll?文件程序無法執(zhí)行"的問題及解決方法

    這篇文章主要介紹了PCL出現(xiàn)"無法找到?pcl_commond.dll?文件程序無法執(zhí)行"的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評(píng)論

滦平县| 台中县| 鄱阳县| 盐津县| 鹤岗市| 平定县| 海宁市| 石城县| 长岛县| 当涂县| 即墨市| 武鸣县| 炉霍县| 马龙县| 石阡县| 天长市| 吉木乃县| 四子王旗| 宜春市| 张家口市| 土默特右旗| 东安县| 双鸭山市| 大庆市| 合阳县| 岳阳市| 大兴区| 蓬溪县| 民和| 鞍山市| 安达市| 岱山县| 当阳市| 沙湾县| 富锦市| 宝山区| 任丘市| 湟源县| 格尔木市| 疏勒县| 玛曲县|