第九章中位数和顺序统计学之“寻找第2小元素”(练习9.1-1待改进)
2012-01-17 15:09
232 查看
在最坏的情况下,利用n+(lgn的上限)-2次比较,即可找到n个元素中的第2小元素。(提示:同时找最小元素)
#include <string.h> #include <time.h> #define BUFFER_SIZE 10 void FirstAndSecond(int *a,int len,int *first,int *second) { int i=0; int j=0; if(a[0]<a[1]) { *first=a[0]; *second=a[1]; } else { *first=a[1]; *second=a[0]; } for(i=2;i<len;i++) { if(*first>a[i]) { *second=*first; *first=a[i]; } else { if(*second>a[i]) { *second=a[i]; } } } } int main() { int i=0; int min=0; int max=0; int a[BUFFER_SIZE]; printf("随机生成的数组:\n"); srand((unsigned)time(NULL)); for(i=0;i<BUFFER_SIZE;i++) { a[i]=rand()%100;//归一化 printf("%d ",a[i]); } printf("\n"); FirstAndSecond(a,BUFFER_SIZE,&min,&max); printf("最小值:min=%d\n最大值:max=%d\n",min,max); system("pause"); return 0; }
相关文章推荐
- 第九章中位数和顺序统计学 之 “寻找第i小元素之最坏情况线性时间的选择 最坏运行时间就为O(n)算法”
- 第九章中位数和顺序统计学之“查找第i小的元素(迭代版)平均运行时间为O(n)算法”(练习9.2-3)
- 第九章中位数和顺序统计学之“查找第i小的元素(递归版)平均运行时间为O(n)算法”
- 算法导论学习笔记-第九章-中位数和顺序统计学
- 《算法导论》学习总结 — 9.第九章 中位数和顺序统计学
- 《算法导论》学习总结 — 9.第九章 中位数和顺序统计学
- 《算法导论》第九章----中位数和顺序统计学
- 算法导论读书笔记 第九章 中位数和顺序统计学
- 第九章中位数与顺序统计学之“同时找出最小值和最大值”
- 算法导论第九章中位数和顺序统计学例题
- 算法导论第九章:中位数和顺序统计学
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 中位数和顺序统计学
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 算法导论代码 第9章 中位数和顺序统计学
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 《算法导论》学习总结——第二部分6中位数和顺序统计学