解釋C語言中排序的概念


問題

為什麼排序使在C語言中搜索更容易?如何在C語言中判斷排序效率?

解答

排序是將元素按升序(或降序)排列的過程。

  • 當人們意識到快速搜尋的重要性時,排序這個術語就出現了。

  • 生活中有很多需要搜尋的東西,例如資料庫中的特定記錄、列表中的學號、電話簿中的號碼、書中的特定頁面等。

  • 如果資料保持無序和未排序的狀態,則難以搜尋特定內容。但幸運的是,排序的概念應運而生,使每個人都能更容易地按順序排列資料。

  • 排序將資料排列成序列,這使得搜尋更容易。

排序效率

  • 如果我們想按順序排列一副撲克牌,我們會先檢查每一張牌,然後在繼續操作時相應地排列牌組。

  • 按順序排列牌組需要花費很多時間,但我們仍然以同樣的方式進行操作。但是,計算機的工作方式並非如此。

  • 從程式設計時代開始,科學家們就一直在研究用不同的演算法解決排序問題,以對資料進行排序。

判斷哪個演算法優於另一個演算法的標準如下:

  • 對給定資料進行排序所需的時間。
  • 為此所需的記憶體空間。

示例

以下是用於排序資料的C程式:

#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:
");    scanf("%d", &n);    printf("enter the elements:
");    for(i=0; i<n; i++){       scanf ("%d", &a[i]);    }    for (i=0; i<n-1; i++){       sm=i;       for (j=i+1; j<n; j++){          if (a[j] < a[sm]){             sm=j;          }       }       t=a[i];       a[i]=a[sm];       a[sm]=t;    }    printf ("after selection sorting the elements are:
");    for (i=0; i<n; i++)       printf("%d\t", a[i]);    return 0; }

輸出

執行上述程式時,將產生以下結果:

輸出

enter the No: of elements in the list:
4
enter the elements:
34
12
56
7
after selection sorting the elements are:
7 12 34 56

更新於:2021年3月11日

4K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.