日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构源码笔记(C语言):分块法查找

發(fā)布時(shí)間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构源码笔记(C语言):分块法查找 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//實(shí)現(xiàn)分塊法查找的算法#include<stdio.h> #include<malloc.h> #include<malloc.h>#define MAXL 100//表中最多的記錄個(gè)數(shù) #define MAXI 20//定義索引表中的最大長(zhǎng)度typedef int KeyType; typedef char InfoType[10];typedef struct {KeyType key;//關(guān)鍵字?jǐn)?shù)據(jù)類型InfoType data;//其他數(shù)據(jù) }NodeType;typedef NodeType SeqList[MAXL];//順序表類型typedef struct {KeyType key;//關(guān)鍵碼類型int link;//分塊的起始下標(biāo) }IdxType; typedef IdxType IDX[MAXI];//索引表類型int IdxSearch(IDX I,int m,SeqList r,int n,KeyType k)//分塊查找算法 {int low=0,high=m-1,mid,i,count1=0,count2=0;int b=n/m;//b為每塊的記錄個(gè)數(shù)printf("二分查找:\n");while(low<=high)//在索引表中進(jìn)行二分查找,找到的位置放置low中{mid=(low+high)/2;printf("第%d次查找,在[%d,%d]中查找到元素r[%d]:%d\n",count1+1,low,high,mid,r[mid].key);if(I[mid].key>=k)high=mid-1;else low=mid+1; count1++;//累計(jì)在索引表中的比較次數(shù)}if(low<m)//在索引表中查找成功后,再在線性表中進(jìn)行順序查找{printf("比較%d次,在第%d塊中查找到元素%d\n",count1,low,k); i=I[low].link;printf("順序查找:\n ");while(i<I[low].link+b-1 && r[i].key!=k){i++;count2++;printf("%d ",r[i].key);}printf("\n");printf("比較%d次,在順序表中查找元素%d\n",count2,k);if(i<=I[low].link+b-1)return i;else return -1;}return -1; }int main() {SeqList r;KeyType k=46;IDX I;int a[]={8,14,6,9,10,22,34,18,19,31,40,38,54,66,46,71,78,68,80,85,100,94,88,96,87},i;int n;n=sizeof(a)/4;for(i=0;i<n;i++)//建立順序表r[i].key=a[i];I[0].key=14;I[0].link=0;I[1].key=34;I[1].link=4;I[2].key=66;I[2].link=10;I[3].key=85;I[3].link=15;I[4].key=100;I[4].link=20;printf("\n");if((i=IdxSearch(I,5,r,25,k))!=-1)printf("元素%d的位置是%d\n",k,i);elseprintf("\n元素 %d不在表中.\n",k);printf("\n");return 0; }

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言描述)匯總:

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):英文單詞按字典序排序的基數(shù)排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):直接插入排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):直接選擇排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):置換-選擇算法

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):Huffman樹(shù)字符編碼

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):Josephus問(wèn)題之順序表

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):Josephus問(wèn)題之循環(huán)鏈接表

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):多項(xiàng)式合并

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉樹(shù)之葉子結(jié)點(diǎn)旋轉(zhuǎn)銷毀

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):哈夫曼樹(shù)

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):集合的位向量表示

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):鏈接隊(duì)列

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):鏈接棧

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):線性表的單鏈表示

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):線性表的順序表示

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):棧的基本操作

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):中綴表達(dá)式

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):希爾插入排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):索引文件建立和查找

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):冒泡排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):快速排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):可變長(zhǎng)度字符串的快速排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):基數(shù)排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二路歸并排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):堆排序

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉樹(shù)搜索樹(shù)Kruskal

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉搜索樹(shù)Prim

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):最短路徑弗洛伊德算法

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):深度、廣度優(yōu)先生成樹(shù)

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):鄰接矩陣轉(zhuǎn)化鄰接表

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):統(tǒng)計(jì)字符串中出現(xiàn)的字符及其次數(shù)

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):順序查找

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):哈希表的相關(guān)運(yùn)算算法

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):分塊法查找

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二分查找

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉樹(shù)遍歷

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉平衡樹(shù)的相關(guān)操作算法

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):二叉排序樹(shù)的基本操作算法

數(shù)據(jù)結(jié)構(gòu)源碼筆記(C語(yǔ)言):B樹(shù)的相關(guān)運(yùn)算算法

總結(jié)

以上是生活随笔為你收集整理的数据结构源码笔记(C语言):分块法查找的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。