插入排序
总结:不懂就画图!!!!!!!!!!!!!!!!!!!!!!
思路:
n位数组,从n=1开始,与前面的比较,若有自己比对方小,则插入到对方前面,后面的依次下移。
如图,
#include "stdafx.h" #include <iostream> #include <string> #include <fstream> using namespace std; void insertSort(int array[] , int len){ for (int i = 1; i < len; i++) { for (int j = 0; j < i; j++) { if (array[i] < array[j]) { int k = i; int temp = array[i]; while (k > j) { array[k] = array[k-1]; k--; } array[j] = temp; } } } } int main () { int data[] = {34,65,12,43,67,5,78,10,3,70} , k; int len=sizeof(data)/sizeof(int); insertSort(data , len); for (int i = 0; i < len; i++) { cout<<data[i]<<" "; } }