排序-插入排序
Posted ^~~^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序-插入排序相关的知识,希望对你有一定的参考价值。
插入排序的逻辑如下:
- 从第二个元素开始遍历。
- 并将每个位置的元素和之前的元素比较,如果比之前元素小,则置换位置。
代码如下:
1 #include <iostream> 2 3 using namespace std; 4 5 void change(int *p,int pos1,int pos2); 6 void insertSort(int *p,int length); 7 void print(int *p,int length); 8 9 int main() 10 { 11 int p[] = {2,5,3,11,89,76,24,33,15}; 12 insertSort(p,sizeof(p)/sizeof(int)); 13 print(p,sizeof(p)/sizeof(int)); 14 cout << "Hello world!" << endl; 15 return 0; 16 } 17 18 void print(int *p,int length) 19 { 20 for(int i=0;i<length;i++) 21 cout << p[i] << endl; 22 } 23 24 void insertSort(int *p,int length) 25 { 26 for(int i=1;i<length;i++) 27 { 28 for(int j=i;j>0&&p[j]<p[j-1];j--) 29 { 30 change(p,j,j-1); 31 } 32 } 33 } 34 35 void change(int *p,int pos1,int pos2) 36 { 37 if(pos1 == pos2) 38 { 39 return; 40 } 41 int temp=p[pos1]; 42 p[pos1] = p[pos2]; 43 p[pos2] = temp; 44 }
以上是关于排序-插入排序的主要内容,如果未能解决你的问题,请参考以下文章
插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)
直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚