任务代码:

二分查找数组的一个数字:(函数法)

#include 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;

}

冒泡排序(升序排序1):

#include void bubbleSort(int a[],int len)

{

int i,j,t;

for(i=0;ia[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 void select_sort(int a[],int n)

{

int i,j,k,t;

for(i=0;i

插入排序:(升序排序法3)

#includevoid InsertionSort(int *num,int n)

{

int i = 0;

int j = 0;

int tmp = 0;

for(i = 1;i=0&&tmp=0对其进行边界限制。第二个为插入判断条件

{

num[j+1] = num[j];//若不是合适位置,有序组元素向后移动

j--;

}

num[j+1] = tmp;//找到合适位置,将元素插入。

}

}

int main()

{

int i = 0;

int num[8]={9,3,4,2,6,7,5,1};

InsertionSort(num,8);

/*这个函数必须知道元素的个数,所以将元素个数传入。

有心者可以在函数内部用sizeof求出元素个数 */

for(i=0;i<8;i++)

{

printf("%d ",num[i]);

}

return 0;

}

执行情况:

第一题:

第二题&第三题&第四题:

知识总结:

c语言函数调用排序用插入法,C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...相关推荐

  1. java冒泡排序函数验证_java冒泡排序-选择排序-插入排序-使用API中文文档直接调用函数...

    import java.util.Arrays; public class ArrayDemo2_3 { public static void main(String []args) { //---- ...

  2. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  3. C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】

    目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...

  4. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  5. 冒泡排序选择排序插入排序

    目录 冒泡排序 选择排序 插入排序 冒泡排序 冒泡排序(最好是O(n), 最坏O(n2)) 原理: 拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结 ...

  6. 【排序算法】冒泡排序 选择排序 插入排序 希尔排序(数组)

    冒泡排序 #include<iostream> using namespace std; #define SWAP(a,b) {int tmp;tmp=a;a=b;b=tmp;} int ...

  7. 【排序算法】冒泡排序|选择排序|插入排序|希尔排序

    文章目录 冒泡排序 选择排序 插入排序 希尔排序 冒泡排序   第一个元素开始向第二个元素比较,若大于则交换位置,不大于则不动.然后第二个元素和第三个元素比较,再然后第三个元素和第四个元素比较-一直比 ...

  8. Java 知识点整理-7.StringBuffer类+冒泡排序+选择排序+二分法+Arrays类+基本数据类型的包装类

    1.StringBuffer类概述:线程安全的可变字符序列,一个类似于String的字符串缓冲区,但不能修改(不能像String那样用加号与其他类型数据连接),但通过某些方法调用可以改变该序列的长度和 ...

  9. 十大经典排序算法详解(一)冒泡排序,选择排序,插入排序

    养成习惯,先赞后看!!! 你的点赞与关注真的对我非常有帮助.如果可以的话,动动手指,一键三连吧!!! 目录 1.算法的评判标准 2.排序算法的分类 3.十大经典排序算法-冒泡排序,选择排序,插入排序 ...

最新文章

  1. 范凯:一个二次创业者的失败
  2. python3安装pip3-python3及pip3安装
  3. Vue.js 组件注册
  4. R语言观察日志(part6)--初识rMarkdown
  5. CVE-2017-15715漏洞复现
  6. AndroidStudio学习
  7. 6步学会VS封装DLL
  8. 文本框改变之onpropertychange事件
  9. 2021年G2电站锅炉司炉考试题库及G2电站锅炉司炉考试报名
  10. ASP.NET 入门基础--搭建网站开发环境
  11. android 来电滑动接听电话,安卓手机来电时不能滑动接听现象的原因及解决方法介绍...
  12. 用 Boost.extension 做C/C++插件
  13. 智能车基于RT1064+无线串口透传模块利用MATLAB辅助调节PID参数
  14. 第十二课 Java基础篇——面向对象进阶(三)
  15. 【代码写春联】新年新祝福,算算你的运势,教你如何用MATLAB以烟花、对联的形式打开2022年,爱满人间(附MATLAB和Python代码实现)
  16. 从黑格尔的正反合理论看人生的三个阶段
  17. lisp不是函授型语言_LISP语言
  18. 卸载 Mac 默认的 Xcode 附带的 git
  19. 表达式转换 (中缀转后缀表达式)
  20. Python模拟登录某橙色软件并获取所有订单,康康买了啥奇奇怪怪的东西?

热门文章

  1. 转:ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
  2. Supervisor管理springboot应用进程
  3. 安装composer以及laravel框架
  4. matlab for循环太慢,Matlab中每个for循环迭代的速度降低
  5. python代码性能分析_Python 性能分析入门指南
  6. unity隔一段时间再显示_Unity3D内置倒计时!从此再不拖延!
  7. c语言long说明符,C语言-类型说明符 long,short,unsigned,signed
  8. expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查
  9. android点击地址调用地图,Android 实现点击按钮 调用手机外部地图导航
  10. win7系统文件夹属性在哪打开