C語言排序算法之插入排序
算法實現(xiàn):
使用插入排序將下面的數(shù)字按照從小到大的順序排列

步驟1:數(shù)組中已經排好的是{1},將9插入數(shù)組中

步驟2:數(shù)組中已經排好的是{2,9},將5插入數(shù)組中

步驟3:數(shù)組中已經排好的是{2,5,9},將4插入數(shù)組中

步驟4:數(shù)組中已經排好的是{2,4,,5,9},將8插入數(shù)組中

步驟5:數(shù)組中已經排好的是{2,4,,5,8,9},將1插入數(shù)組中

步驟6:數(shù)組中已經排好的是{1,2,4,,5,8,9},將6插入數(shù)組中

步驟7:排序完成

程序代碼:
#include <stdio.h>
#include <stdlib.h>
//插入排序
void InsertSort(int *a,int len);
//輸出數(shù)組中的元素
void OutputArray(int *a, int len);
void main()
{
int a[7] = {2, 9, 5, 4, 8, 1, 6};
//輸出數(shù)組中的元素
printf("排序前的數(shù)據(jù):");
OutputArray(a,7);
//插入排序
InsertSort(a,7);
//輸出排序后的結果
printf("排序后的數(shù)據(jù):");
OutputArray(a,7);
system("pause");
}
//插入排序
void InsertSort(int *a,int len)
{
for(int i=1;i<len;i++)
{
int j=i-1;
int temp=a[i];//需要插入的數(shù)據(jù)
while(temp<a[j] && j>=0)//當插入的數(shù)據(jù)小于前面的數(shù)據(jù)時
{
a[j+1]=a[j];//將插入的數(shù)據(jù)的前面的數(shù)據(jù)向后移動
j--;
}
a[++j]=temp;//插入數(shù)據(jù)
}
}
//輸出數(shù)組中的元素
void OutputArray(int *a, int len)
{
for(int i=0; i<len; i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
執(zhí)行結果::

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C語言中isalnum()函數(shù)和isalpha()函數(shù)的對比使用
這篇文章主要介紹了C語言中isalnum()函數(shù)和isalpha()函數(shù)的對比使用,都可以判斷是否為字母但isalnum的判斷還包括數(shù)字,需要的朋友可以參考下2015-08-08
CString,字符串,整數(shù)等相互轉換方法(推薦)
下面小編就為大家?guī)硪黄狢String,字符串,整數(shù)等相互轉換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
CreateCompatibleDC()函數(shù)案例詳解
這篇文章主要介紹了CreateCompatibleDC()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-08-08
C++中map和vector作形參時如何給定默認參數(shù)?
今天小編就為大家分享一篇關于C++中map和vector作形參時如何給定默認參數(shù)?,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04

