91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言怎么實現插入排序算法

發布時間:2021-08-11 14:24:15 來源:億速云 閱讀:157 作者:chen 欄目:編程語言

這篇文章主要講解了“C語言怎么實現插入排序算法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言怎么實現插入排序算法”吧!

一、什么是直接插入算法?

直接插入排序是一種簡單的插入排序法,其基本思想是:把待排序的紀錄按其關鍵碼值的大小逐個插入到一個已經排好序的有序序列中,直到所有的紀錄插入完為止,得到一個新的有序序列。

選擇排序對大小為N的無序數組R[N]進行排序,進行N-1輪選擇過程。首先將第1個元素作為已經排序好
的子數組,然后將剩余的N-1個元素,逐個插入到已經排序好子數組;。因此,在第 i輪排序時,前i個
元素總是有序的,將第i+1個元素插入到正確的位置。

二、算法實現過程:

第1輪
[ 3 ]  [ 2  4  1 ]  (最初狀態,將第1個元素分為排序好的子數組,其余為待插入元素)
[ 3 ]  [ 2  4  1 ]  (由于3>2,所以待插入位置j=1)
[ 2  3 ]  [ 4  1 ]  (將2插入到位置j)

第2輪
[ 2  3 ]  [ 4  1 ] (第1輪排序結果)
[ 2  3 ]  [ 4  1 ] (由于2<4,所以先假定j=2)
[ 2  3 ]  [ 4  1 ] (由于3<4,所以j=3)
[ 2  3  4 ]  [ 1 ] (由于4剛好在位置3,無需插入)

第3輪
[ 2  3  4 ]  [ 1 ] (第2輪排序結果)
[ 2  3  4 ]  [ 1 ] (由于1<2,所以j=1)
[1  2  3  4 ]    (將1插入位置j,待排序元素為空,排序結束)

三、C語言程序代碼
#include<stdio.h>
int main(void)
{
int i;
int a[10]={2,4,6,8,0,1,3,5,7,9};
printf("原數組為:"); 
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n") ;
crpx(a,10);
printf("排序后的數組為:"); 
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
 } 
int crpx(int *a,int n)
{
int in,out,tmp;
for(out=1;out<n;out++)
{
tmp=a[out];
in=out;
while(in>0&&a[in-1]>tmp)
{
a[in]=a[in-1];//大的數向后移一位 
in--;
}
a[in]=tmp;  
}
}

感謝各位的閱讀,以上就是“C語言怎么實現插入排序算法”的內容了,經過本文的學習后,相信大家對C語言怎么實現插入排序算法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰州市| 东阳市| 辽阳市| 新绛县| 新乐市| 平遥县| 安陆市| 庆城县| 陆河县| 沙田区| 金坛市| 陕西省| 三河市| 漳平市| 西昌市| 喀喇| 阜新| 桦川县| 淳安县| 淅川县| 崇阳县| 都昌县| 宿迁市| 收藏| 宁夏| 东港市| 南宫市| 大荔县| 儋州市| 偃师市| 长岛县| 睢宁县| 措勤县| 广饶县| 温泉县| 临颍县| 特克斯县| 韶山市| 吉木萨尔县| 白朗县| 长春市|