亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

C語(yǔ)言

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

時(shí)間:2025-04-29 02:38:01 C語(yǔ)言 我要投稿

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

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

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

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

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

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

  */

  void ion_sort(int array[], int length)

  {

  int i, j;

  int temp; // 用來(lái)存放臨時(shí)的變量

  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;

  }

  }

  編寫(xiě)測(cè)試代碼如下所示:

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

  int main()

  {

  int a[ARRAY_LENGTH];

  int i;

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

  /* 輸入10個(gè)整形元素 */

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

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

  {

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

  }

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

  /* 把排序前元素都打印出來(lái) */

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

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

  {

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

  }

  printf(" ");

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

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

  ion_sort(a, ARRAY_LENGTH);

  /* 把排序后元素都打印出來(lái) */

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

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

  {

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

  }

  printf(" ");

  return 0;

  }

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

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

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

C語(yǔ)言插入排序算法及實(shí)例代碼07-02

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

C語(yǔ)言的HashTable簡(jiǎn)單實(shí)現(xiàn)10-12

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

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

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

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

AVL樹(shù)的c語(yǔ)言實(shí)現(xiàn)10-06