真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言編程在楊氏數(shù)組中查找數(shù)字

題目:
楊氏矩陣(一個二維數(shù)組,數(shù)組的每行從左到右是遞增的,每列從上到下是遞增的)
在這樣的數(shù)組中查找一個數(shù)字是否存在。
要求時間復(fù)雜度小于O(N);

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出仁壽免費做網(wǎng)站回饋大家。

主要思路:
題目要求時間復(fù)雜度度不能大于O(N),所以判斷次數(shù)必須小于遍歷一次數(shù)組次數(shù)。
所以從數(shù)組的右上角開始判斷,若當(dāng)前元素大于要查找的數(shù)字,則跳過當(dāng)前列查詢下一列,若當(dāng)前元素小于要查找的數(shù),則跳過當(dāng)前行查找下一行,直至找到或者找不到。

eg:
此處使用數(shù)組arr[3][3]={1,2,3,4,5,6,7,8,9};
1 2 3
4 5 6
7 8 9
在數(shù)組中朝查找5,首先判斷3<5,則查找范圍就變成了
4 5 6
7 8 9
再判斷6>5,則查找范圍又變?yōu)榱?br/>4 5
7 8
這時候再判斷5=5
則找到

源代碼:

#include
#include
void find(int arr[][3],int *row, int *col,int key)
{
    int x = 0;
    int y = *col - 1;
    while (x <*row&&y>0)//判斷條件
    {
        if (arr[x][y] == key)//找到
        {
            *row = x;
            *col = y;
            return;
        }
        else if (arr[x][y] < key)
        {
            x++;//變換行
        }
        else
        {
            y--;//變換列
        }
    }
    *row = -1;
    *col = -1;
}
int main()
{
    int arr[3][3]= {1,2,3,4,5,6,7,8,9};
    int x=3;
    int y=3;
    int *row = &x;
    int *col = &y;
    int key=5;
    find(arr,row,col,key);
    if (*row == -1 && *col == -1)
    {
        printf("沒找到\n");
    }
    else
    {
        printf("找到了,下標(biāo)為%d %d\n", *row, *col);
    }
    system("pause");
    return 0;
}

網(wǎng)站標(biāo)題:C語言編程在楊氏數(shù)組中查找數(shù)字
分享地址:http://weahome.cn/article/ihhcgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部