一道二维数组的算法题
来源:互联网 发布:js判断是否为json对象 编辑:程序博客网 时间:2024/06/01 09:03
题目:
程序如下:
#include<stdio.h>#include <stdlib.h>int search(int (*a)[5],int x,int y);int main(){ int i,j; int b[5][5]; int a[5][5]={5,85,4,2,68,78,82,75,41,14,79,47,38,1,47,1,2,14,65,13,96,87,32,14,21}; for(i=0;i<5;i++) { for(j=0;j<5;j++) { b[i][j]=search(&a[0],i,j); //b[i][j]=search(a,i,j);}} } } for(i=0;i<5;i++) { for(j=0;j<5;j++) { printf("%d\t",b[i][j]); } printf("\n"); }}int search(int (*a)[5],int x,int y){ int i,j,k,temp1; int t; int c[9]; k=0; t=1; for(i=x-1;i<x+2;i++) { for(j=y-1;j<y+2;j++) { if(i>=0&&j>=0&&i<5&&j<5&&!(i==x&&j==y)) { //c[k]=*(a+i*5+j); c[k]=a[i][j]; k++; } } } while(t) { t=0; for(i=k-1;i>=0;i--) {
for(j=0;j<i;j++) { if(c[j]>c[j+1]) { temp1=c[j+1]; c[j+1]=c[j]; c[j]=temp1; t=1; } } } } return c[k/2]; }
运行结果如下:
在编程的调试的过程中,发现了两个问题。
(1)对二维数组进行函数传值时的类型不明确的问题。
(2)对基本排序算法产生了混淆。
针对两个问题的探讨。
请参考两篇帖子:
(1)数组做实参和虚参的秘密
http://blog.csdn.net/chenhuijie666/article/details/7582995
(2)基本排序算法分析-----C语言版
- 一道二维数组的算法题
- 一道题弄明白二维数组的指针
- 一道关于C++二维数组的问题
- 一道二维数组的面试题
- 一道对称数组的JAVA算法题
- 校招准备系列:每天一道算法题(10)-二维数组查找
- 重看C语言,做的一道题及动态二维数组的实现
- java一道关于二维数组的操作的题目
- hdu 1892 See you 二维树状数组,很好的一道题
- 从一道题目看二维数组的地址
- 一道关于二维数组与指针的题目
- 【C++】:C++的一道二维数组问题探究
- 每日一道算法题:两个数组的交集
- 构造数组的MaxTree(每日一道算法题)
- 每日一道算法题:求一个矩阵中最大的二维矩阵(元素和最大)
- 阿里面试算法题-二维递增数组的查找
- 一道后缀数组的题
- 用二维数组编写的银行家算法
- 求平面上在一条直线上的点的个数
- windows azure试用感受9
- C语言实现责任链
- 比WebService更简单的远程调用方案框架:Hessian
- typedef 函数指针 小练习
- 一道二维数组的算法题
- 随想录(程序员的缺点)
- EBMIDE——IOSL语法的提炼(一)
- 取石子游戏
- Android实现左右滑动指引效果
- declspec(naked) 编写干净函数
- “正邪兼修”
- Linux下C++开发工具介绍
- 使用SVN提示“工作副本已经锁定”的解决办法