几种插入排序

原创 2012年03月23日 21:51:03

void InsertSort(int a[],int n){
int i,j;
int tmp;
for(i=1;i<n;i++){
tmp=a[i];
for(j=i-1;j>=0;j--){
if(tmp<a[j])
a[j+1]=a[j];
else
break;
}
a[j+1]=tmp;
}
}

void InsertSort2(int a[],int n){
for(int i=1;i<n;i++){
for(int j=i;i>=0&&a[j-1]>a[j];j--)
swap(a[j-1],a[j]);
}
}


void InsertSort3(int a[],int n){
int x;
for(int i=1;i<n;i++){
for(int j=i;j>0&&a[j-1]>a[j];j--){
x=a[j];a[j]=a[j-1];a[j-1]=x;
}
}
}


void InsertSort4(int a[],int n){
int x,i,j;
for(i=1;i<n;i++){
x=a[i];
for(j=i;j>0&&a[j-1]>x;j--)
a[j]=a[j-1];
a[j]=x;
}
}

相关文章推荐

几种插入排序法

  • 2012年01月17日 09:14
  • 2KB
  • 下载

数据结构几种插入排序

#include using namespace std; void direct_sort(int a[], int len) { int i, j; for(i=2; i

几种插入排序

1.直接插入排序 2.折半插入排序 3.希尔排序

插入排序的几种写法及性能上的差别

偶然间翻到了《编程珠玑》,上面偏序的一章介绍到了插入排序,作者给出了三种不同的写法。虽然只是简单的小程序,不过却提示了一点程序优化的思路。 第一种如下:for i=[1,n) for(j=i...

插入排序的几种算法

1.直接插入排序 直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。 一般情况下,第i趟直接插入排序的操作为:在含有i-1...

几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现

所谓排序呢,就是要整理数组中的元素,使之按照递增或递减的次序排列起来。一般学习C语言编程的时候,首先学会写的程序就是排序,但是即便是这么简单的程序,在现在考起来,很多人不一定能正确的写出来。我也是在准...

几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)

最近决定每天学点数据结构与算法,写博客来督促自己继续学习~ 以下的每个排序的写法格式基本按照先介绍基本思想,再描述具体过程,最后是具体代码。关于复杂度等问题后续更新。如有写的不严谨的地方,欢迎指出,...

常见的几种排序算法一-选择排序,插入排序

对于排序,有的语言有特定的api,数据库里面也有排序的算法,但是一般不会公布,在这只是总结一下常见的排序算法,也算不辜负数据结构老师之前的谆谆教诲。参见算法(Algorithms Fourth Edi...
  • yhtgb
  • yhtgb
  • 2015年12月27日 22:35
  • 157

几种基本的排序算法:选择排序、插入排序、冒泡排序

选择排序(Selection sort)、插入排序(Insertion sort)与冒泡排序(Bubble sort)這三个排序方式是初学排序所必须知道的三个基本排序方式,它们由于速度不快而不实用(时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几种插入排序
举报原因:
原因补充:

(最多只允许输入30个字)