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

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 編程語言 > 
  • 楊氏矩陣(二維數組的每行從左到右是遞增的,每列從上到下是遞增的. 在這樣的數組中查找一個數字)

楊氏矩陣(二維數組的每行從左到右是遞增的,每列從上到下是遞增的. 在這樣的數組中查找一個數字)

發布時間:2020-07-30 13:08:27 來源:網絡 閱讀:338 作者:夢T醒 欄目:編程語言

題目要求時間復雜度小于O(N)

#include<stdio.h>

int find(int arr[][3], int *px, int *py,int key)
{
    int x = 0;
    int y = *py - 1;
    while ((x < *px) && (y >= 0))
    {
        if (arr[x][y] == key)
        {
        //下標由指針帶回
            *px = x;
            *py = y;
            return 0;
        }
        else if (arr[x][y] < key)
        {
            x++;
        }
        else
        {
            x++;
            y--;
        }
    }
    *px = -1;
    *py = -1;
}
void print_Arrs(int *arr,int row, int col)//輸出函數(指針法)得益于c語言線性存儲
{
    int i = 0;
    int j = 0;
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            printf("%d ", arr[i*col + j]);
        }
        printf("\n");
    }

}
int main()
{
    int n;
    int arr[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    print_Arrs((int *)arr, 3, 3);
    int x = 3;
    int y = 3;
    printf("請輸入需要查找的數字:\n");
    scanf("%d", &n);
    find(arr,&x,&y,n);
    if (x != -1 && y != -1)
    {
        printf("找到了,下標為%d,%d\n",x,y);
    }
    else
    {
        printf("沒找到!\n");
    }
    return 0;
}
向AI問一下細節

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

AI

巴青县| 澎湖县| 舒城县| 中超| 洪泽县| 黄冈市| 丹凤县| 鄯善县| 沽源县| 红原县| 建瓯市| 磐石市| 吉木萨尔县| 炉霍县| 平舆县| 佛坪县| 武川县| 珠海市| 文安县| 孟村| 徐汇区| 金川县| 尼勒克县| 汨罗市| 白城市| 雷州市| 四川省| 镇远县| 白河县| 九寨沟县| 宾阳县| 时尚| 堆龙德庆县| 东至县| 高碑店市| 长白| 旺苍县| 西华县| 承德县| 洛浦县| 浮梁县|