程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言之插入排序

C語言之插入排序

編輯:關於C

插入法排序的要領就是每讀入一個數立即插入到最終存放的數組中,每次插入都使得該數組有序。

\

上代碼:

 

#include 
#include 
#define n 10 

int main()
{ 
  int a[n]={-1,3,6,9,13,22,27,32,49};  /*注意留一個空間給待插數*/
  int x,j,k;   
  x = rand()%100;
  printf("隨機產生x的值為:%d\n",x);
  if(x>a[n-2]) 
  {
     a[n-1]=x ;    /*比最後一個數還大就往最後一個元素中存放*/
  }
  else          /*查找待插位置*/
  {
       j=0;
       while( j<=n-2 && x>a[j])
	   { 
 			j++;            
 	   }
	   for(k=n-2; k>=j; k--)
	   {    /*從最後一個數開始直到待插位置上的數依次後移一位*/
			a[k+1]=a[k];
	   }
		       a[j]=x;      /*插入待插數*/ 
  }
  printf("輸出:\n");
       for(j=0;j<=n-1;j++)  
	   	 printf("%d  ",a[j]);
	return 0 ;
}

運行結果:

隨機產生一個數插入到已有的數組中,排序後輸出:

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved