插入排序C++实现
来源:互联网 发布:java编程怎样弄下划线 编辑:程序博客网 时间:2024/06/06 14:18
算法描述:
从数组第二个元素开始向后扫描,将每个元素插到它前面所有元素的合适位置。
下面给出整数数组的实现,对于其他复杂类型只需实现相应的自定义比较函数即可:
#include <iostream>#include <math.h>using namespace std;const int Num=20;void exch(int* s,int a,int b){ int mid=s[a]; for(int i=a;i>b;i--) { s[i]=s[i-1]; } s[b]=mid;}int main(){int array[Num];int min=0;srand(2);//初始化随机数for(int i=0;i<Num;i++)//初始化数组0到100之间{ array[i]=rand() % 101;}for(int i=0;i<Num;i++)//输出原数组{ printf("%d ",array[i]);}for(int i=1;i<Num;i++){ for(int j=0;j<i;j++) { if(array[i]<array[j]) exch(array,i,j); }}printf("\n");for(int i=0;i<Num;i++){ printf("%d ",array[i]);} return 0;}
插入排序对部分有序的数组十分高效,也适合小规模数组。
可以通过在内循环中将较大元素都向右移动而不是交换移动来提高算法效率(但是难点是怎样判断他的大小)。
1 0
- 插入排序C实现
- C实现插入排序
- 插入排序 C实现
- 插入排序C语言实现
- C/C++实现插入排序
- 插入排序的c实现
- 插入排序c语言实现
- 插入排序C语言实现
- 插入排序C语言实现
- 插入排序(C语言实现)
- 插入排序(C实现)
- 插入排序C语言实现
- 插入排序C语言实现
- c语言实现插入排序
- c语言实现插入排序
- linux c 实现插入排序
- 插入排序C语言实现
- C插入排序法实现
- select、poll、epoll之间的区别总结
- android分享 ------ 友盟分享(续)
- 【mybatis源码分析】原理分析之四:一次SQL查询的源码分析
- hrbust/哈理工oj 1617 回家【BFS+BFS】
- GNU __attribute__ 机制
- 插入排序C++实现
- Clustering
- iOS new和alloc init的区别
- 相关编译到Android细节总结 编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i
- 请各位分析下tomcat宕机的原因,附上日志,急!!!
- Linux下git错误SSL certificate problem
- matlab/C 混合编程
- “重口味”海报引发热议,LG V6000 Plus冰箱如何诠释“精准营销”?
- CTF牛刀小试-摩斯电码