C語言 排序和查詢

2021-10-20 22:41:21 字數 914 閱讀 9244

排序:是把一系列無序的資料按照特定的順序重新排列為有序序列的過程

特點:效能比較低,但是易於理解,是選擇法的基礎

for

(i =

0; i < n-

1; i++

)}

特點:執行次數少,不過較難理解

void datesort(int score, int n)

}if(k != i)

}}

對資訊進行排序時,通常只使用資訊的乙個子項作為鍵值(key value),由鍵值決定資訊的全部子項的排列順序

查詢:在陣列中搜尋乙個特定元素的處理過程

特點:演算法簡單直觀,但效率較低

查詢鍵:查詢的基本過程是利用迴圈順序掃瞄整個陣列,依次將每個元素與待查詢值進行比較;若找到就停止迴圈

int i;

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

特點:稍微複雜,但效率很高

注意:折半查詢只能在已經排好序的數值中查詢

折半查詢基本思想:首先選取位於陣列中間的元素,將其與查詢鍵進行比較。如果它們的值相等,則查詢建以被找到,返回陣列中間元素的下標。否則,將查詢的區間縮小為原來區間的一半,即在一半的陣列元素中查詢

int low = 0, high = n-1,mid;

while(low <= high)

C語言 排序和查詢

交換法排序 第一輪比較,參與的數有n個,與後面的數進行比較,若後面的數大,則交換後面這個數與第乙個數的位置 然後進行第二輪比較,參與的數為n 1,再按上述方法進行比較。主要 for i 0 i1 i 輪次 選擇法排序 假設未排序陣列的第乙個數 下標為i 為最大 小 值,記錄其下標賦給變數k 跟其後的...

C語言 排序和查詢

一 氣泡排序 演算法特點 兩層迴圈外層控制排序的趟數,記憶體控制相鄰元素兩兩比較的次數。n個數共需n 1趟,i 1 ioid bubblesort int p,int n 二 快速排序 有左起點和右終點,還有乙個標準點 任選 先從右端開始尋找比標準小的值,再從左端選大於標準的值,然後將其交換,逐個進...

Go語言排序和查詢

排序操作主要都在 sort包中,匯入就可以使用了,import sort sort.ints對整數進行排序,sort.strings對字串進行排序,sort.float64s對浮點數進行排序 package main import fmt sort func testsort var sot str...