插入排序之算法研究
插入排序:有n个数,第i个数前面都是有序的话,那么i插入到排好的系列中就非常简单,和前面的数一一比较就ok了,对于一个序列,那么从第二个数开始和前面数比较,排好前面2个数之后来把第三个数插入到前面2个数中就非常简单了,第四个数亦是如此,以此类推.....................
#include<iostream> #include<vector> using namespace std; //void insert_sort(vector<int> &a) //{ // int temp; // size_t n = a.size(); // for ( int i= 1; i < n; i++) // { // for (int j = i - 1; j >= 0 && a[j]>a[j + 1]; j--) // { // temp = a[j]; // a[j] = a[j + 1]; // a[j+ 1] = temp; // } // } //} void insert_sort2(vector<int> &a) { int temp; size_t n = a.size(); for (int i = 1; i < n; i++) { for (int j = i - 1; j >= 0; j--) { if (a[j]>a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } } int main() { vector<int> a = { 5,9, 77, 56, 6, 8, 1, 5,100 }; insert_sort2(a); for (const auto i : a) cout << i << " " << endl; return 0; }
插入排序:有n个数,第i个数前面都是有序的话,那么i插入到排好的系列中就非常简单,和前面的数一一比较就ok了,对于一个序列,那么从第二个数开始和前面数比较,排好前面2个数之后来把第三个数插入到前面2个数中就非常简单了,第四个数亦是如此,以此类推.....................
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。