排序:是把一系列無序的資料按照特定的順序重新排列為有序序列的過程
特點:效能比較低,但是易於理解,是選擇法的基礎
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...