亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

C語言

直接插入排序C語言實現(xiàn)

時間:2025-04-29 02:38:01 C語言 我要投稿

直接插入排序(C語言實現(xiàn))

  直接插入排序方法:僅有一個記錄的表總是有序的,因此,對于有n個記錄的表,可以從第二個記錄開始直到第n個記錄逐個有序的向有序表中進(jìn)行插入操作,從而得到n個記錄按關(guān)鍵字有序的表。下面一起跟著小編學(xué)習(xí)一下吧!

  實現(xiàn)一個直接插入排序的C語言函數(shù),要求對要排序的元素按照逐漸遞增有序。這個函數(shù)的具體實現(xiàn)如下:

  /* 直接插入排序函數(shù)的實現(xiàn)

  * array[] : 待排序的數(shù)組

  * length : 待排序的數(shù)組的大小

  */

  void ion_sort(int array[], int length)

  {

  int i, j;

  int temp; // 用來存放臨時的變量

  for(i = 1; i < length; i++)

  {

  temp = array[i];

  for(j = i-1; (j >= 0)&&(array[j] > temp); j--)

  {

  array[j + 1] = array[j];

  }

  array[j + 1] = temp;

  }

  }

  編寫測試代碼如下所示:

  /* 程序的入口函數(shù) */

  int main()

  {

  int a[ARRAY_LENGTH];

  int i;

  int d[3] = {5, 3, 1}; // 定義一個表示增量值的數(shù)組

  /* 輸入10個整形元素 */

  printf("Input %d numbers : ", ARRAY_LENGTH);

  for(i = 0; i < ARRAY_LENGTH; i++)

  {

  scanf("%d", &a[i]);

  }

  printf("**************************************************************** ");

  /* 把排序前元素都打印出來 */

  printf("The elements before sort is : ");

  for(i = 0; i< ARRAY_LENGTH; i++)

  {

  printf("%d ", a[i]);

  }

  printf(" ");

  printf("**************************************************************** ");

  /* 對元素進(jìn)行有小到大的直接插入排序 */

  ion_sort(a, ARRAY_LENGTH);

  /* 把排序后元素都打印出來 */

  printf("The elements after sort is : ");

  for(i = 0; i < ARRAY_LENGTH; i++)

  {

  printf("%d ", a[i]);

  }

  printf(" ");

  return 0;

  }

  編譯并運行結(jié)果如下所示:

【直接插入排序C語言實現(xiàn)】相關(guān)文章:

排序之一:直接插入排序(C語言實現(xiàn))09-25

C語言插入排序算法及實例代碼07-02

C語言程序的實現(xiàn)09-27

C語言的HashTable簡單實現(xiàn)10-12

C++ 排序插入排序詳解08-03

希爾排序(C語言實現(xiàn))09-06

PID算法的C語言實現(xiàn)07-19

鏈表的C語言實現(xiàn)方法08-27

AVL樹的c語言實現(xiàn)10-06