插入与选择排序是两种基础的排序算法,复杂度都为O(n^2);
void selectionSort(int list[], int size) {
cout<<size<<endl;
int min;
int temp;
for(int i=0; i<size-2; i++) {
int min = i;
for(int j=i+1; j<size; j++) {
if(list[j]<list[min]) min = j;
}
if(min!=i) {
temp = list[i];
list[i] = list[min];
list[min] = temp;
}
}
}
void insertSort(int list[] , int size) {
int firstOutOfOrder, location;
int temp;
for(firstOutOfOrder=1; firstOutOfOrder<size; firstOutOfOrder++) {
if(list[firstOutOfOrder]<list[firstOutOfOrder-1]) {
temp = list[firstOutOfOrder];
location = firstOutOfOrder;
do {
list[location] = list[location-1];
location--;
}while(location>0&&list[location-1]>temp);
list[location] = temp;
}
}
}
分享到:
相关推荐
插入排序的c++实现,有注释,输入未排序double数组,输出排序好的double数组,由小到大排序
c++ 选择排序 插入排序 快速排序 使用模板写的,感觉不错,哈哈,希望对大家有帮助
网上有很多讲插入排序的算法,但大多数都没有提供完整的程序,于是我在业余时间参考网上资料写了一个插入排序的完整C++实现,在VC6.0++编译通过,大家打开压缩文件点击sort.dsw文件打开即可编译运行,代码也有详解的...
插入排序插入排序插入排序插入排序插入排序插入排序插入排序
c++实现的线性表排序算法 插入排序,希尔排序,冒泡排序,快速排序,堆排序,归并排序等
归并排序,插入排序,以及两种排序算法的结合C++实现
全面的排序算法实现,包括插入排序、合并排序、堆排序、快速排序。 堆排序:HeapSort 讲解详见http://blog.csdn.net/fly_yr/article/details/8550701 插入排序:InSertion_Sort 讲解详见...
插入排序算法,随机数列,可控制数列的上下界限,c++。
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
用C++实现的插入排序算法,其中并没有使用数组,而是使用了vector容器和迭代器。
用C++,模板写的 7中排序. 快速排序, 归并排序,插入排序,选择排序,起泡排序,堆排序,希尔排序
插入排序算法c++实现,程序实现插入排序十万个数(调用)。可以改成输入。并附加了程序运行计时,用于测试时间复杂度,可以移除。绝对能用
插入排序、冒泡排序、归并排序、快速排序四种排序方式的C++实现,各写成了一个函数,主函数中可以选择调用那一个。初始化数组时用的是随机种子srand((int)time(0))。在宏中定义数组大小。
用C++语言实现的几个常见算法,里面有注解,方便大家理解,简单易学,都可以正常编译运行。
binary sort,二分法查找,binary search, 二分法排序,merge sort 混合排序,shell sort 希尔排序,insertion sort 插入排序。数据结构 data structure
使用C++编写的插入&归并排序小程序,略简单,只实现基本功能
插入排序 插入排序 插入排序 插入排序 插入排序 dfdsfdsffdsf fdsfdsf dfsdfdsf
采用c++描述了各种排序算法,包括选择排序 冒泡排序 插入排序 基数排序 快速排序 归并排序 。实验内容 1、创建排序类。 2、提供操作:选择排序、冒泡排序、插入排序、*基数排序、*快速排序、*归并排序。 3、*能够...
其中包含了各种对数组排序的方法,数组下标从1开始,有插入排序(直接插入排序、希尔排序),交换排序(起泡排序、快速排序),选择排序(简单选择排序,堆排序(另外写))、归并排序(递归,非递归)。
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现