C語言二維數(shù)組中的查找的實例
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、重慶網(wǎng)站建設(shè)公司、微信開發(fā)、微信小程序、集團(tuán)成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:柴油發(fā)電機等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致贊美!
題目描述:在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)
思路描述:一個數(shù)字的下方和右方是比它本身大的區(qū)域,而左方和上方時比它本身小的區(qū)域。選取右上角的數(shù)字進(jìn)行比較,當(dāng)該數(shù)大于指定的數(shù)時,舍去該列,當(dāng)該數(shù)小于指定的數(shù)時,舍去該行,當(dāng)相等時,則表示找到
C語言實現(xiàn):
#include<stdio.h> #include<stdlib.h> typedef unsigned int boolean; #define MAX 4 #define TRUE 1 #define FALSE -1 void showAry(int ary[MAX][MAX]); boolean find(int ary[MAX][MAX], int rows, int cols, int number); void showAry(int ary[MAX][MAX]) { int i = 0, j = 0; for(; i < MAX; i++) { j = 0; for(; j < MAX; j++) { printf("%d ", ary[i][j]); } } } boolean find(int ary[MAX][MAX], int rows, int cols, int number) { int i = 0, j = cols - 1, n = 0; boolean result = FALSE; if(ary == NULL || rows <= 0 || cols <= 0) { return result; } while(i < rows && j >= 0) { n = ary[i][j]; if(number == n) { printf("\nary[%d, %d] = %d\n", i, j, n); result = TRUE; break; }else if(number < n) { j -= 1; }else if(number > n) { i += 1; } } return result; } //1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 int main() { int ary[MAX][MAX]; int i = 0, j = 0; for(; i < MAX; i++) { j = 0; for(; j < MAX; j++) { scanf("%d", &ary[i][j]); } } showAry(ary); find(ary, MAX, MAX, 7); }
以上就是講解C語言二維數(shù)組中的查找的實例,希望能幫助需要同類型問題的朋友,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
分享題目:C語言二維數(shù)組中的查找的實例
網(wǎng)頁網(wǎng)址:http://m.newbst.com/article40/jegceo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)