c语言函数调用排序用插入法,C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...
任务代码:
二分查找数组的一个数字:(函数法)
#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语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...相关推荐
- java冒泡排序函数验证_java冒泡排序-选择排序-插入排序-使用API中文文档直接调用函数...
import java.util.Arrays; public class ArrayDemo2_3 { public static void main(String []args) { //---- ...
- C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入
例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...
- C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】
目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- 冒泡排序选择排序插入排序
目录 冒泡排序 选择排序 插入排序 冒泡排序 冒泡排序(最好是O(n), 最坏O(n2)) 原理: 拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结 ...
- 【排序算法】冒泡排序 选择排序 插入排序 希尔排序(数组)
冒泡排序 #include<iostream> using namespace std; #define SWAP(a,b) {int tmp;tmp=a;a=b;b=tmp;} int ...
- 【排序算法】冒泡排序|选择排序|插入排序|希尔排序
文章目录 冒泡排序 选择排序 插入排序 希尔排序 冒泡排序 第一个元素开始向第二个元素比较,若大于则交换位置,不大于则不动.然后第二个元素和第三个元素比较,再然后第三个元素和第四个元素比较-一直比 ...
- Java 知识点整理-7.StringBuffer类+冒泡排序+选择排序+二分法+Arrays类+基本数据类型的包装类
1.StringBuffer类概述:线程安全的可变字符序列,一个类似于String的字符串缓冲区,但不能修改(不能像String那样用加号与其他类型数据连接),但通过某些方法调用可以改变该序列的长度和 ...
- 十大经典排序算法详解(一)冒泡排序,选择排序,插入排序
养成习惯,先赞后看!!! 你的点赞与关注真的对我非常有帮助.如果可以的话,动动手指,一键三连吧!!! 目录 1.算法的评判标准 2.排序算法的分类 3.十大经典排序算法-冒泡排序,选择排序,插入排序 ...
最新文章
- 范凯:一个二次创业者的失败
- python3安装pip3-python3及pip3安装
- Vue.js 组件注册
- R语言观察日志(part6)--初识rMarkdown
- CVE-2017-15715漏洞复现
- AndroidStudio学习
- 6步学会VS封装DLL
- 文本框改变之onpropertychange事件
- 2021年G2电站锅炉司炉考试题库及G2电站锅炉司炉考试报名
- ASP.NET 入门基础--搭建网站开发环境
- android 来电滑动接听电话,安卓手机来电时不能滑动接听现象的原因及解决方法介绍...
- 用 Boost.extension 做C/C++插件
- 智能车基于RT1064+无线串口透传模块利用MATLAB辅助调节PID参数
- 第十二课 Java基础篇——面向对象进阶(三)
- 【代码写春联】新年新祝福,算算你的运势,教你如何用MATLAB以烟花、对联的形式打开2022年,爱满人间(附MATLAB和Python代码实现)
- 从黑格尔的正反合理论看人生的三个阶段
- lisp不是函授型语言_LISP语言
- 卸载 Mac 默认的 Xcode 附带的 git
- 表达式转换 (中缀转后缀表达式)
- Python模拟登录某橙色软件并获取所有订单,康康买了啥奇奇怪怪的东西?
热门文章
- 转:ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
- Supervisor管理springboot应用进程
- 安装composer以及laravel框架
- matlab for循环太慢,Matlab中每个for循环迭代的速度降低
- python代码性能分析_Python 性能分析入门指南
- unity隔一段时间再显示_Unity3D内置倒计时!从此再不拖延!
- c语言long说明符,C语言-类型说明符 long,short,unsigned,signed
- expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查
- android点击地址调用地图,Android 实现点击按钮 调用手机外部地图导航
- win7系统文件夹属性在哪打开