c语言快速排序与二分查找算法
来源:互联网 发布:java中文模糊匹配算法 编辑:程序博客网 时间:2024/06/02 01:59
#include<stdio.h>int r[20];int Quick_Partition(int r[],int a,int b);int Binary_serch(int r[],int key,int n); void Quick_Sort(int r[],int s,int t);int main(void){int i=0,j=0,bi,ans;printf("请输入待排序数据:(0结束)");do{scanf("%d",&r[j]);j++;}while(r[j-1]!=0);j=j-2;Quick_Sort(r,i,j);while(i<=j){printf("%d ",r[i]);i++;}for(;;){printf("请输入您要查找的数据:(0表示结束)"); scanf("%d",&bi);if(bi==0){printf("查找结束\n");return 0; }else{ans=Binary_serch(r,bi,j);if(ans==-1){ printf("在数组中没有找到%d\n",bi);}else{ans=ans+1; printf("查找成功\n"); printf("在数组中第%d个位置找到%d\n",ans,bi);}} }return 0;}int Quick_Partition(int r[],int a,int b){int temp;temp=r[a];while(a<b){while(a<b&&r[b]>=temp)b--;if(a<b){ r[a]=r[b]; a++;}while(a<b&&r[a]<=temp)a++;if(a<b){ r[b]=r[a]; b--;}}r[a]=temp;return a;}void Quick_Sort(int r[],int s,int t){int i;while(s<t){i=Quick_Partition(r,s,t);Quick_Sort(r,s,i-1);Quick_Sort(r,i+1,t);s++;}}int Binary_serch(int r[],int key,int n){int low=0;int high=n;int mid;while(low<=high){mid=(low+high)/2;if(key==r[mid]){return mid;}else if(key>r[mid]){low=mid+1;}else{high=mid-1;}}return -1;}
0 0
- c语言快速排序与二分查找算法
- 快速排序和二分查找算法的实现C语言
- 二分查找算法与快速排序
- C语言快速查找与二分查找0804
- c语言归并、选择、直接插入、冒泡、快速、堆排序与顺序、二分查找
- c语言 快速排序 和 二分 查找 模型
- 二分查找(折半查找)与冒泡排序(C语言)
- 快速排序与 二分查找
- c语言二分查找算法
- C语言:折半插入排序与二分查找
- 冒泡排序,选择排序,快速排序,堆排序与二分查找算法
- 二分查找程序算法和快速排序
- 数据结构与算法——二分查找(C语言)
- 简单的快速排序与二分查找
- C语言中的排序、二分查找
- C语言排序之二分查找
- C语言 冒泡排序和二分查找
- 快速排序+二分查找
- The 3n + 1 problem
- 自动1122徐达武职工信息管理系统(无图)
- LeetCode——Binary Tree Postorder Traversal
- scala中的case类作为偏函数
- linux 命令路径配置
- c语言快速排序与二分查找算法
- eclipse中导入jar包的源码
- 毕设中巩固的技术(一)spring+velocity+ibaits的整合
- js获取键盘的keyCode-------Day42
- 初学者-android开发-listview 分隔线问题 及自定义item
- android <include/>标签和 <merge/>标签的使用
- OCP 1Z0 052 137
- SWTBOK测试实践系列(6) -- 开发人员为什么不做静态分析?
- AMD编程手册小译