菜鳥一枚,
剛剛學習數據結構與算法,
爲了加深理解,
所以與同學們分享學習過程。
今天學習的是,
直接插入排序!!!
未排序好是數,與前面已排序好的數進行比較,找到合適的位置插入
上圖片
上代碼
#include <stdio.h>
void insertsort(int k[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
if(k[i]<k[i-1])
{
temp=k[i];
for(j = i-1;k[j] > temp;j--) //若j前面的數大於temp
{
k[j+1] = k[j]; //則往後推
}
k[j+1]=temp; //此處j+1與for循環中的j+1不同,因爲j--了
}
}
}
int main()
{
int i,a[10]={4,3,6,1,0,8,7,2,9,5};
insertsort(a,10);
printf("排序後結果爲:");
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}
return 0;
}
謝謝同學們的閱讀!!!