亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

二維數組查找元素

發布時間:2020-05-23 18:42:23 來源:網絡 閱讀:352 作者:Sekai_Z 欄目:編程語言

簡介

    數組是一種比較簡單的數據結構,它占據一塊連續的內存并按照順序存儲數據。在創建時,需要先指定數組的容量大小,然后根據大小分配內存。因此數組的空間效率不是很好,經常會有空閑的區域沒有充分利用。由于數組內存是連續的,所以可以用下標訪問元素,時間效率比較高。

題目

    在一個二維數組中,每一行都是按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列,完成一個函數,輸入這樣一個二維數組和一個整數,判斷數組中是否含有該整數

    1 2 8  9

    2 4 9  12

    4 7 10 13

    6 8 11 15

查找數字7,返回true,查找5,返回false

分析:

二維數組查找元素

程序實現

#include<iostream>
#include<assert.h>
using namespace std;

bool Find(int *a, int rows,int cols,int element)
{
	assert(a);//判斷不為空
	assert(rows > 0 && cols > 0);//行和列不為空
	
	bool ret = false;
	
	int row = 0;
	int col = cols - 1;//第一行最右

	while (row < rows&&col >= 0)
	{
		if (a[row*cols + col] == element)
		{
			ret = true;
			break;
		}
		else if (a[row*cols + col]>element)//這個元素比這一列的這個元素小,說明在這一列的左邊
		{
			--col;//縮小行的距離
		}
		else//這個元素比這一列的元素大,說明在這一行的下邊
			++row;//向下
	}
	return  ret;
}

測試

void test()
{
	int a[][4] = { 1, 2, 8, 9, 2, 4, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15 };
	cout << Find((int*)a, 4, 4, 7);//1
	cout<<Find((int *)a, 4, 4, 20);//0
	
}

    這樣,就實現了在這個二維數組中查找一個元素的功能

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇礼县| 行唐县| 改则县| 内乡县| 张家界市| 金门县| 呼伦贝尔市| 全南县| 体育| 班戈县| 东港市| 台湾省| 云和县| 西乡县| 航空| 平远县| 化隆| 云安县| 镇远县| 南皮县| 讷河市| 苏尼特左旗| 双流县| 郴州市| 修文县| 德阳市| 钟祥市| 临颍县| 汤原县| 安新县| 班玛县| 云安县| 抚州市| 右玉县| 澄城县| 盐源县| 安吉县| 历史| 台山市| 景宁| 四会市|