有序二维数组查找元素

来源:互联网 发布:无锡大数据it 编辑:程序博客网 时间:2024/05/21 20:21
#include <stdio.h> #include <stdlib.h>enum status{FALSE = -1,TRUE};typedef enum status bool;int find(int *matrix, int rows, int columns, int number){bool found = FALSE;int row = rows - 1;int column = 0;if(!matrix || rows <= 0 || columns <= 0){return found;}while(row >= 0 && column < columns){if(number > matrix[row * columns + column]){column++;}else if(number == matrix[row * columns + column]){found = TRUE;break;}else{row--;}}return found;}int main(int argc, char *argv[]){int matrix[] = {1, 2, 8, 9,2, 4, 9, 12,4, 7, 10, 13,6, 8, 11, 15};int rows = 4, columns = 4;int result;while(--argc){result = find(matrix, rows, columns, atoi(argv[argc]));printf("%s %s\n", argv[argc], result == TRUE ? "found" : "not found");}return 0;}

0 0
原创粉丝点击