插入排序
Posted O了吗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。
#include"iostream" #include"time.h" using namespace std; void show(int *a,int N){ for(int i = 0;i < N;i++){ cout<< a[i]<<ends; } cout<<endl; } //直接插入排序 void sort(int *a,int n){ for(int i = 0;i < n;i++){ //依次取出i往前插入 int temp = a[i]; //保存i for(int j = i - 1;j >= 0 && temp < a[j];j--){ //找到插入点j a[j + 1] = a[j]; //比i大的元素往后移,给i腾位置,直到j等于0或者i>j,则找到插入点 } a[j + 1] = temp; //将i插入腾出的位置 } } //二分插入排序 void sortbin(int *a,int n){ for(int i = 0;i < n;i++){ int temp = a[i]; int low = 0,high = i - 1; while(low <= high){ int mid = (low + high) / 2; if(a[mid] < temp){ low = mid + 1; } else{ high = mid - 1; } } //这里low或者high-1都为插入点 for(int j = i - 1;j >= low;j--){ a[j + 1] = a[j]; } a[low] = temp; } } int main(){ srand(time(NULL)); const int N = 10; int a[N]; for(int i = 0;i < N;i++){ a[i] = rand() % 10; } show(a,N); sortbin(a,N); show(a,N); return 0; }
以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章
代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?
将代码片段插入数据库并在 textarea 中以相同方式显示
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段