C語言排序與查詢例項

2021-06-06 10:11:55 字數 1377 閱讀 5823

1、順序查詢

學號姓名

成績1001

ann93

1002

lily

951003

lucy

981004

tom100

編寫一上程式,要求輸出1001編號同學的具體資訊

#include "stdio.h"

typedef struct studentstudent;

int search(student stu , int n, int key)

return -1;//查詢失敗,返回-1

}

例項講解

有乙個陣列a[10],裡面存放了10個整數,順序遞增

a[10]=

任意輸入乙個用數字n用折半查詢法找到n位於陣列中的位置。如果n 屬於陣列a,顯示錯誤提示.

#include "stdio.h"

bin_search(int a,int n,int key)

}return -1; /*查詢失敗,返回-1*/

}main()

,i,n ,addr;

printf("the contents of the array a[10] are\n");

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

printf("%d ",a[i]); /*顯示陣列a中的內容*/

printf("\nplease input a interger for search\n");

scanf("%d",&n); /*輸入待查詢的元素*/

addr = bin_search(a,10,n); /*折半查詢,返回該元素在陣列中的下標*/

if(-1 != addr) /*查詢成功*/

printf("%d is at the %dth unit is array a\n ",n,addr);

else printf("there is no %d in array a\n",n); /*查詢失敗*/

}

執行結果:

3、直接插入排序

直接插入排序的基本思想是:第i趟排序列中的第i+1個元素ki+1插入到乙個已經按值有序的子串行(k1,k2 , k3....ki)中的合適的位置,使得插入後的序列仍然保持按值有序

排序與查詢演算法(C語言描述)

c 自帶的algorithm庫函式中提供了排序演算法。自帶排序演算法的一般形式為 sort arr m,arr n 將陣列arr的下標為m的元素到下標為n 1的元素進行從小到大排序 sort arr m,arr n,comp 與sort arr m,arr n 相比,這個寫法可以自己定義排序的規則,...

C語言 排序和查詢

排序 是把一系列無序的資料按照特定的順序重新排列為有序序列的過程 特點 效能比較低,但是易於理解,是選擇法的基礎 for i 0 i n 1 i 特點 執行次數少,不過較難理解 void datesort int score,int n if k i 對資訊進行排序時,通常只使用資訊的乙個子項作為鍵...

C語言 排序和查詢

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