c语言中关于杨氏矩阵的算法应用

来源:互联网 发布:5173游戏交易平台源码 编辑:程序博客网 时间:2024/06/07 02:39

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

#include<stdio.h>#include<stdlib.h>#pragma warning(disable:4996)int find(int arr[3][3], int rows, int cols, int data){    int i = 0;    int j = cols - 1;    while ((rows>i)&&(j>0))    {        if (arr[i][j] > data)        {            j--;        }        else if (arr[i][j] < data)        {            i++;        }        else        {            return 1;        }    }    return 0;}int main(){    int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };    int data = 0;    printf("please input a number: ");    scanf("%d",&data);    int be_exist = find(arr,3,3,data);    if (be_exist)    {        printf("%d is exist\n",data);    }    else    {        printf("%d is not exist\n",data);    }    system("pause");    return 0;}
原创粉丝点击