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

C語言

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

時間:2024-09-25 03:30:47 C語言 我要投稿
  • 相關(guān)推薦

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

  導(dǎo)語:C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。下面我們來看看直接插入排序(C語言實現(xiàn)),希望對大家有所幫助。

  直接插入排序方法:僅有一個記錄的表總是有序的,因此,對于有n個記錄的表,可以從第二個記錄開始直到第n個記錄逐個有序的向有序表中進(jìn)行插入操作,從而得到n個記錄按關(guā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("**************************************************************** ");

  /* 對元素進(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;

  }

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

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

C語言實現(xiàn)歸并排序算法實例09-18

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

C語言經(jīng)典冒泡排序法09-24

經(jīng)典c語言冒泡排序法08-08

C語言的冒泡排序方法08-22

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

C語言快速排序?qū)嵗a06-04

C語言冒泡排序算法實例06-15

C語言經(jīng)典冒泡排序法詳解08-03