插入排序代码实现

看了算法导论,自己实现的算法。

#include
#include
int main(){   //插入排序(insertion sort)的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中,直到全部记录插入完成为止.
	int a[100];
	int n,i,j,key;
	
	scanf("%d",&n);
	
	for(i=0;i=0&&a[j]>key){	//如果a[j]>a[i],则交换值,直到a[0]和a[1]相比 
			a[i]=a[j];
			a[j]=key;
			i=i-1;
			j=j-1;
		}
	}
	for(i=0;i

根据书上伪代码实现:

#include  
void insert_sort(int a[],int n)
//待排序元素用一个数组a表示,数组有n个元素
{
    int i,j;
    int temp;
    for ( i=1; i=0)&& (temp

相比自己和书上代码,自己的代码多了多次赋值。

while(j>=0&&tep是从大到小排序(降序),<是从小到大排序(升序)

你可能感兴趣的:(算法与数据结构)