freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單鏈表圖書(shū)信息查詢,交并差,折半查找(書(shū)名,通信錄)、-資料下載頁(yè)

2025-06-30 19:15本頁(yè)面
  

【正文】 *\n)。printf(* 4 . 學(xué) 生 信 息 修 改 *\n)。printf(* *\n)。printf(* 5 . 學(xué) 生 成 績(jī) 排 序 *\n)。printf(* *\n)。printf(* 6 . 學(xué) 生 信 息 插 入 *\n)。printf(* *\n)。printf(* 0 . 退 出 *\n)。printf(* *\n)。printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n)。}void main(){ int n。 menu()。 printf(選擇相應(yīng)操作:)。 scanf(%d,amp。n)。 while(n!=1amp。amp。n!=2amp。amp。n!=3amp。amp。n!=4amp。amp。n!=5amp。amp。n!=6amp。amp。n!=7amp。amp。n!=0) { printf(輸入操作有誤,請(qǐng)重新輸入\n)。 printf(選擇相應(yīng)操作:)。 scanf(%d,amp。n)。 } while(n) { switch(n) { case 1: input()。break。 case 2: search()。break。 case 3: del()。break。 case 4: modify()。break。 case 5: paixu()。break。 case 6: insert()。break。 case 0: exit(0)。break。 default: break。 } menu()。 printf(選擇相應(yīng)操作:)。 scanf(%d,amp。n)。 }}折半查找 按書(shū)名 查找/* 折半查找 */include include include include typedef struct // 數(shù)據(jù)元素類型 { char name[20]。 // 關(guān)鍵字域 char writer[20]。 char info[100]。 }ElemType。typedef struct{ // 靜態(tài)查找表的順序存儲(chǔ)結(jié)構(gòu) // 數(shù)據(jù)元素存儲(chǔ)空間基址,建表時(shí)按實(shí)際長(zhǎng)度分配,0號(hào)單元留空 ElemType *elem。 int length。 // 表長(zhǎng)度 int listsize。//當(dāng)前已用長(zhǎng)度}Sqlist。 int Creat_Sq(Sqlist amp。L){ // 構(gòu)造一個(gè)含n個(gè)數(shù)據(jù)元素的靜態(tài)順序查找表L int i,k。 ElemType *q。 q=(ElemType *)malloc(sizeof(ElemType))。 = (ElemType *)calloc(100, sizeof(ElemType))。 =100。 // 動(dòng)態(tài)生成100個(gè)數(shù)據(jù)元素空間(0號(hào)單元不用) if(!) return 0。 for( i = 1。 i = 。 i++){ scanf(%d,amp。k)。 if (k==0) break。 else{ scanf(%s %s %s,qname,qwriter,qinfo)。 [i] = *q。 // 將數(shù)據(jù)的值依次賦給L } } = i。 return 1。}void Ascend(Sqlist amp。L){ // 重建靜態(tài)查找表為按關(guān)鍵字非降序排序 int i, j, k。 for(i = 1。 i 。 i++) { k = i。 [0] = [i]。 // 待比較值存[0]單元 for(j = i+1。 j = 。 j++) //從中找到第i小的值 if (strcmp([j].name,[0].name)0) { k=j。 [0]=[j]。 } if(k != i) // 有更小的值則交換 { [k]=[i]。 [i]=[0]。 } }}void Creat_Ord(Sqlist amp。L){// 構(gòu)造一個(gè)靜態(tài)按關(guān)鍵字非降序查找表L int f。 f = Creat_Sq(L)。 //構(gòu)建一個(gè)靜態(tài)表 if( f ) //靜態(tài)表存在,則對(duì)其進(jìn)行重建 Ascend(L)。}int Destroy(Sqlist amp。L){ // 銷毀表L。 free()。 = NULL。 = 0。 return 1。}int Search_Bin(Sqlist amp。L,char key[20]){ // P220 // 在有序表L中折半查找其關(guān)鍵字等于key的數(shù)據(jù)元素。若找到,則函數(shù) // 值為該元素在表中的位置,否則為0。 int low, high, mid。 low = 1。 // 置區(qū)間初值 high = 。 while(low = high) { mid = (low + high) / 2。 if(strcmp(key, [mid].name)==0) // 找到待查元素 return mid。 else if(strcmp(key , [mid].name)0) high = mid 1。 // 繼續(xù)在前半?yún)^(qū)間進(jìn)行查找 else low = mid + 1。 // 繼續(xù)在后半?yún)^(qū)間進(jìn)行查找 } return 0。 // 順序表中不存在待查元素 }int Traverse(Sqlist L,void(*Visit)(ElemType)){// 按順序?qū)的每個(gè)元素調(diào)用函數(shù)Visit()一次且僅一次。 ElemType *p。 int i。 p = ++。 // p指向第一個(gè)元素,第0個(gè)元素沒(méi)有用 for(i = 1。 i = 。 i++) Visit( *p++ )。 return 1。}void print(ElemType c) // Traverse()調(diào)用的函數(shù) { printf(%s %s %s\n, ,)。}int main(){ Sqlist L。 int i。 char s[20]。 printf(\n請(qǐng)輸入圖書(shū)數(shù)據(jù)信息 )。 Creat_Ord(L)。 // 由全局?jǐn)?shù)組產(chǎn)生非降序靜態(tài)查找表l Traverse(L,print)。 // 順序輸出非降序靜態(tài)查找表l printf(\n請(qǐng)輸入待查找值的關(guān)鍵字: )。 scanf(%s, amp。s)。 i = Search_Bin(L, s)。 // 折半查找有序表 if( i ) print([i])。 else printf(沒(méi)找到相匹配的圖書(shū)信息.\n)。 Destroy(L)。 system(pause)。 return 0。}折半查找 通訊錄正確程序/* 折半查找 */include include include includedefine N 100// 數(shù)據(jù)元素個(gè)數(shù) typedef struct // 數(shù)據(jù)元素類型 { char name[20]。 // 關(guān)鍵字域 }ElemType。// 靜態(tài)查找表的順序存儲(chǔ)結(jié)構(gòu) typedef struct{ // 數(shù)據(jù)元素存儲(chǔ)空間基址,建表時(shí)按實(shí)際長(zhǎng)度分配,0號(hào)單元留空 ElemType *elem。 int length。 // 表長(zhǎng)度 int listsize。//當(dāng)前已用長(zhǎng)度}Sqlist。// 靜態(tài)查找表(順序表和有序表)的基本操作(7個(gè)) // 構(gòu)造一個(gè)含n個(gè)數(shù)據(jù)元素的靜態(tài)順序查找表ST int Creat_Sq(Sqlist amp。L){ int i,k。 ElemType *q。 q=(ElemType *)malloc(sizeof(ElemType))。 = (ElemType *)calloc(100, sizeof(ElemType))。 =100。 // 動(dòng)態(tài)生成n+1個(gè)數(shù)據(jù)元素空間(0號(hào)單元不用) if(!) return 0。 for( i = 1。 i = 。 i++){ scanf(%d,amp。k)。 if (k==0) break。 else{ scanf(%s,qname)。 [i] = *q。 // 將數(shù)據(jù)的值依次賦給ST } } = i。 return 1。}// 重建靜態(tài)查找表為按關(guān)鍵字非降序排序 void Ascend(Sqlist amp。L){ int i, j, k。 for(i = 1。 i 。 i++) { k = i。 [0] = [i]。 // 待比較值存[0]單元 for(j = i+1。 j = 。 j++) //從中找到第i小的值 if (strcmp([j].name,[0].name)0) { k=j。 [0]=[j]。 } if(k != i) // 有更小的值則交換 { [k]=[i]。 [i]=[0]。 } }}// 構(gòu)造一個(gè)含n個(gè)數(shù)據(jù)元素的靜態(tài)按關(guān)鍵字非降序查找表ST,// 數(shù)據(jù)來(lái)自全局?jǐn)?shù)組r void Creat_Ord(Sqlist amp。L){ int f。 f = Creat_Sq(L)。 //構(gòu)建一個(gè)靜態(tài)表 if( f ) //靜態(tài)表存在,則對(duì)其進(jìn)行重建 Ascend(L)。}// 銷毀表ST int Destroy(Sqlist amp。L){ free()。 = NULL。 = 0。 return 1。}// P220 // 在有序表ST中折半查找其關(guān)鍵字等于key的數(shù)據(jù)元素。若找到,則函數(shù)// 值為該元素在表中的位置,否則為0。 int Search_Bin(Sqlist amp。L,char key[20]){ int low, high, mid。 low = 1。 // 置區(qū)間初值 high = 。 while(low = high) { mid = (low + high) / 2。 if(strcmp(key, [mid].name)==0) // 找到待查元素 return mid。 else if(strcmp(key , [mid].name)0) high = mid 1。 // 繼續(xù)在前半?yún)^(qū)間進(jìn)行查找 else low = mid + 1。 // 繼續(xù)在后半?yún)^(qū)間進(jìn)行查找 } return 0。 // 順序表中不存在待查元素 }// 按順序?qū)T的每個(gè)元素調(diào)用函數(shù)Visit()一次且僅一次。int Traverse(Sqlist L,void(*Visit)(ElemType)){ ElemType *p。 int i。 p = ++。 // p指向第一個(gè)元素,第0個(gè)元素沒(méi)有用 for(i = 1。 i = 。 i++) Visit( *p++ )。 return 1。}void print(ElemType c) // Traverse()調(diào)用的函數(shù) { printf(%s\n, )。}int main(){ Sqlist L。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1