中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

二維數組查找元素

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

雷山县| 曲沃县| 蓝山县| 西充县| 铜鼓县| 岱山县| 贵南县| 泰和县| 千阳县| 翼城县| 红原县| 双辽市| 炎陵县| 建水县| 宁安市| 滕州市| 柘城县| 冕宁县| 永昌县| 呼玛县| 静乐县| 平湖市| 和龙市| 沭阳县| 乐清市| 蓝田县| 会同县| 罗山县| 台中县| 九龙城区| 新竹县| 上思县| 丰县| 普兰县| 徐州市| 青铜峡市| 垫江县| 建阳市| 兴仁县| 友谊县| 广东省|