二维数组中的查找,杨氏矩阵
2015-11-04 18:51
344 查看
#include<stdio.h> #include<stdlib.h> int find(int arry[100][100], int x, int y, int key) { int i = 0; int j = 0; for (i = 0; i<x; i++) { for (j = 0; j<y; j++) { if (key == arry[i][j]) return 1; } } return -1; } int main() { int arr[100][100]; int m, n; int ret;int k; printf("输入要查询的数:"); scanf_s("%d", &k); printf("输入行和列:"); scanf_s("%d%d", &m, &n); printf("输入%d行%d列的数:\n",m,n); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf_s("%d", &arr[i][j]); } } ret = find(arr, m, n, k); if (ret == 1) printf("存在!"); else printf("不存在!"); system("pause"); return 0; }
2.
#include <stdio.h> #define COLS 3 #define ROWS 3 int find_num(int arr[COLS][ROWS], int key, int cols, int rows) { if (cols > 0 && rows > 0) { int col = 0; int row = rows - 1; while ((col < cols) && (row >= 0)) { if (arr[col][row] < key) { col++; } else if (arr[col][row] == key) { return 1; } else { row--; } } return 0; } return -1; } int main() { int arr[COLS][ROWS]; int i = 0; int j = 0; int key = 0; for (i = 0; i < COLS; i++) { for (j = 0; j < ROWS; j++) { arr[i][j] = i*ROWS + j; } } scanf("%d", &key); int ret = find_num(arr, key, COLS, ROWS); if (ret == 1) { printf("exist\n"); } else { printf("not exist\n"); } system("pause"); return 0; }
相关文章推荐
- Ruby中require、load、include、extend的区别介绍
- vbscript include的办法实现代码第1/2页
- 解析C++编程中的#include和条件编译
- PHP脚本中include文件出错解决方法
- Flex include和import ActionScript代码
- set_include_path在win和linux下的区别
- php include加载文件两种方式效率比较
- How to Auto Include a Javascript File
- 浅谈ASP.NET的include的使用方法
- java/jsp中 中文问题详解
- php相对当前文件include其它文件的方法
- JSP计数器的制作
- php include和require的区别深入解析
- PHP include_path设置技巧分享
- JS 实现完美include载入实现代码
- JS实现完美include加载功能代码
- JSP开发入门(四)--JSP的内部对象
- 实战 J2EE 开发购物网站 二
- php 中include()与require()的对比
- JSP中include指令和include行为的区别