C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法)
来源:互联网 发布:stata 债券数据是啥 编辑:程序博客网 时间:2024/05/19 13:30
任务代码:
二分查找数组的一个数字:(函数法)
#include <stdio.h>int binarySearch(int a[],int len,int key){ int low=0,high=len-1,mid; int i=-1;//相当于index while(low<=high) { mid=(low+high)/2; if(a[mid]==key) { i=mid; break; } else if(key>a[mid]) { low=mid+1; } else { high=mid-1; } } return i;}int main(){ int array[10]={0,1,2,3,4,5,6,7,8,9}; //先排序 bubbleSort(array,10); //二分查找 int key; int index=-1; printf("输入你想查找的数字:"); scanf("%d",&key); index=binarySearch(array,10,key); if(index>=0) { printf("找到这个数字位于第%d个",index); } else { printf("没有找到这个数!"); } printf("\n"); return 0; }
#include <stdio.h>void bubbleSort(int a[],int len){ int i,j,t; for(i=0;i<len-1;i++) { for(j=0;j<len-i-1;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }}int main(){ int array[10]={4,7,9,1,2,6,5,3,8,0}; //冒泡排序 bubbleSort(array,10); printf("排序后的数组为:\n"); int i; for(i=0;i<10;i++) { printf("%d ",array[i]); } printf("\n"); return 0; }
选择排序法:(升序排序法2)
#include <stdio.h>void select_sort(int a[],int n){ int i,j,k,t; for(i=0;i<n-1;i++) //n个数需要对比n-1轮 { //找未排序中最小值的下标 k=i; for(j=i+1;j<n;j++)//固定数组中的第一个数,让后面的所有数字和其进行比较 { if(a[j]<a[k])//后面任意为排序的数小于第一个数a[k] { k=j; } } //将最小值换到最前面 t=a[k]; a[k]=a[i]; a[i]=t; } return;}int main(){ int array[10]={3,6,5,4,7,2,9,1,0,8}; //选择排序排序 select_sort(array,10); //打出排序后的数组 printf("排序后的数组为:\n"); int i; for(i=0;i<10;i++) { printf("%d ",array[i]); } printf("\n"); return 0; }
执行情况:
第一题:
第二题&第三题:
知识总结:
阅读全文
0 0
- C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法)
- C语言 冒泡排序和二分查找
- 选择排序、冒泡排序和二分查找C/C++
- 冒泡排序、选择排序、二分查找法
- 二分查找(折半查找)与冒泡排序(C语言)
- 选择排序 冒泡排序 二分查找
- Java 冒泡排序,选择排序,二分查找
- 冒泡排序,选择排序,二分查找小结
- Week02_day01 选择排序 冒泡排序 二分查找
- C语言:冒泡排序和二分查找混合
- JS编写冒泡排序法和二分查找
- 冒泡排序和选择排序二分查找代码实现
- 三种数组排序算法(冒泡排序、选择排序、插入排序、二分查找法)
- 冒泡排序,选择排序,直接插入排序,二分查找排序
- 冒泡排序和二分查找
- 冒泡排序和二分查找
- 冒泡排序和二分查找
- C语言---算法(选择排序/冒泡排序/折半查找/进制查表法)
- php常用字符串函数小结
- 算法导论习题自做2.2-1
- IT面试2014校招笔试面试全面总结分析回顾(有点早,仅供参考)
- Linux命令分析: ls
- JAVA Frame 窗体背景图片,首尾相接滚动(2)
- C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法)
- 一分钟了解"自定义安装visual studio 2010以节省硬盘空间"
- 微信获取access_token,access_token有什么意义,他的时长是多少
- tomcat 性能调优
- uCOS-III学习笔记
- JS脚本实现浏览器自动点击(阿里员工秒杀月饼)
- caffe_inference-optimize跑video报错
- Android初级开发(七)——内容提供器—读取系统联系人
- iOS xxxxx is missing from working copy 的解决方法