亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

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

時間:2024-09-10 00:00:26 C語言 我要投稿
  • 相關推薦

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

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

  實現(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("**************************************************************** ");

  /* 對元素進行有小到大的直接插入排序 */

  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)】相關文章:

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

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

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

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

如何實現(xiàn)C語言畫圖教程08-08

C語言如何實現(xiàn)畫圖教程08-19

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

C語言中實現(xiàn)KMP算法實例08-09

鏈表的C語言實現(xiàn)方法編程學習06-12

C語言對棧的實現(xiàn)基本操作介紹10-29