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

溫馨提示×

溫馨提示×

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

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

C語言二維數組中的查找的實例

發布時間:2020-09-25 23:22:28 來源:腳本之家 閱讀:178 作者:Dear_Mr 欄目:編程語言

C語言二維數組中的查找的實例

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

思路描述:一個數字的下方和右方是比它本身大的區域,而左方和上方時比它本身小的區域。選取右上角的數字進行比較,當該數大于指定的數時,舍去該列,當該數小于指定的數時,舍去該行,當相等時,則表示找到

C語言實現:

#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語言二維數組中的查找的實例,希望能幫助需要同類型問題的朋友,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

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

AI

静乐县| 巴南区| 湘阴县| 芜湖市| 普兰县| 建水县| 安义县| 祁阳县| 邵武市| 蚌埠市| 桦川县| 龙门县| 高邮市| 正镶白旗| 大关县| 海南省| 沐川县| 噶尔县| 磐安县| 合江县| 南和县| 溧阳市| 额敏县| 丽江市| 东安县| 松潘县| 讷河市| 腾冲县| 沙湾县| 繁峙县| 宁乡县| 巩义市| 来安县| 朔州市| 霍州市| 北海市| 华坪县| 江阴市| 日照市| 富裕县| 山东|