国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

排序算法之插入排序

2019-11-10 21:36:47
字體:
供稿:網(wǎng)友

插入排序就像是 打撲克牌時對牌的點(diǎn)數(shù)進(jìn)行排序。

假設(shè)要排序的數(shù)組有n+1個。a[0.....n ]

插入排序先把待排序的數(shù)組分成兩組,一組是已經(jīng)排好序的,另一組是待排序的。

一開始 a[0]  自成一組(暫時當(dāng)排好序的組),然后在剩下的a[1.....n]中每次取一個元素出來跟排好序的組比較

代碼如下:

#include<stdio.h>void insert(int a[],int len){	int i,j,k,t;	/*------主要部分------*/	/*從小到大排序*/ 	for(i = 0;i<len;i++)	{		/*這個for循環(huán)存在的目的就是為了當(dāng)a[i]<a[j]時,		在已經(jīng)排好序的組中,找出a[i](也就是新牌)適合存放的位置*/ 		for(j = i-1;j>=0;j--)		{			if(a[i]<=a[j])		//a[i]相當(dāng)于待排序組新取出來比較的元素 				continue;			else if(a[i]>a[j])				break;		}				/*上一個for循環(huán)已經(jīng)找出了在排好序的組中存放a[i]的位置 j 		接下來這部分就是要把位置 j 之前的元素都往前挪一個位置,因?yàn)?	j 位置要存放 a[i]*/ 		if(j!=i-1)				//這一句if判斷其實(shí)可以不要,但會做無用功 		{			t = a[i];				for(k = i-1;k>j;k--)				a[k+1]=a[k];									a[k+1] = t;			}		/*------------------*/		}		for(i=0;i<len;i++)		PRintf("%d,",a[i]);}int main(){	int a[5]={1,3,4,5,0};	insert(a,5);	return 0;} 打印結(jié)果:0,1,3,4,5


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 光山县| 宜宾市| 孟津县| 区。| 津市市| 大悟县| 沙坪坝区| 顺平县| 丰顺县| 锦州市| 视频| 利川市| 青州市| 伊吾县| 凭祥市| 松桃| 中方县| 民勤县| 新宾| 潞城市| 青岛市| 衡山县| 陆丰市| 台安县| 呈贡县| 莱芜市| 青冈县| 临朐县| 绥棱县| 新疆| 昌乐县| 化州市| 曲阳县| 外汇| 漳平市| 武宣县| 云林县| 岐山县| 武川县| 旺苍县| 西安市|