91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

二維數組查找元素

發布時間: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

怀化市| 彭山县| 平江县| 安岳县| 扎鲁特旗| 建德市| 翼城县| 高密市| 天镇县| 东乡族自治县| 修文县| 进贤县| 合阳县| 新泰市| 改则县| 莱州市| 文化| 略阳县| 车致| 栾城县| 股票| 镇平县| 弥渡县| 香格里拉县| 六安市| 邯郸市| 噶尔县| 九台市| 耿马| 馆陶县| 湘阴县| 靖西县| 雅江县| 安图县| 吴江市| 潮州市| 扶余县| 丹东市| 固安县| 涪陵区| 永靖县|