• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            請(qǐng)輸入關(guān)鍵字

            更新時(shí)間:2025-12-16 09:04:39 閱讀: 評(píng)論:0

            蹄膀-養(yǎng)魚(yú)塘


            2023年3月4日發(fā)(作者:羊肉火鍋?zhàn)龇?

            /*預(yù)處理部分*/

            #include

            #include

            #include

            #define OK 1

            #define ERROR 0

            #define MIN -842150451 //初值

            #define MB -800000000 //墓碑



            /*結(jié)構(gòu)類型定義部分*/

            typedef int Status; //定義狀態(tài)函數(shù)類型

            typedef int KeyType; //定義關(guān)鍵字類型

            typedef int InforType; //定義信息類型

            typedef struct {

            KeyType *colral; //關(guān)鍵字?jǐn)?shù)組

            int ba; //棧底下標(biāo)

            int rear; //棧頂下標(biāo)

            }Stack; //關(guān)鍵字棧

            typedef struct {

            KeyType key; //關(guān)鍵字

            InforType infor; //信息數(shù)據(jù)

            }RedType; //數(shù)據(jù)結(jié)點(diǎn)

            typedef struct {

            int length; //數(shù)據(jù)結(jié)點(diǎn)個(gè)數(shù)

            int sizeindex; //哈希查找表長(zhǎng)度

            double load_factor; //裝填因子

            RedType *hashsize; //哈希查找表

            int count; //當(dāng)前比較總次數(shù)

            Stack CL; //關(guān)鍵字棧

            }HashTable; //哈希表

            HashTable HT; //全局變量



            /*函數(shù)聲明部分*/

            int Hash (KeyType key);

            int In (KeyType key);

            void CreateHashTable ();

            void PrintHashTable ();

            Status SearchHashTable (KeyType key);

            Status InrtHashTable (KeyType key);

            Status DeleteHashTable (KeyType key);

            void ASLofHashTable ();



            /*函數(shù)定義部分*/

            int Hash (KeyType key) {

            int a=0;

            a=key%10000; //取6位數(shù)關(guān)鍵字的后4位數(shù)

            a=(a*a)%dex+1; //哈希函數(shù)給出的位置

            return a; //返回可能的插入位置

            } //end Hash

            int In (KeyType key) {

            //檢測(cè)關(guān)鍵字key是否在關(guān)鍵字棧中

            int i=0;

            for (i=1;i<;i++) {

            if (key==[i]) return 1;

            }

            return 0;

            } //end In

            void CreateHashTable () {

            //創(chuàng)建哈希表

            int i=0,a=0,j=0;KeyType key;

            printf ("注:關(guān)鍵字為6位數(shù).
            ");

            printf ("請(qǐng)輸入數(shù)據(jù)結(jié)點(diǎn)的個(gè)數(shù):");

            scanf ("%d",&);

            printf ("請(qǐng)輸入哈希表的初始裝填因子(在區(qū)間(0,1)中):");

            scanf ("%lf",&_factor);

            dex=(int)(/_factor);

            ze=(RedType *)malloc ((dex+1)*sizeof (RedType)); //動(dòng)態(tài)分配哈希查找表,0號(hào)未用

            =(KeyType *)malloc ((+2)*sizeof (KeyType)); //動(dòng)態(tài)分配關(guān)鍵字?jǐn)?shù)組,以便防止關(guān)鍵字重復(fù),0號(hào)未用

            ==1;

            for (i=1;i<=;i++) {

            key=rand ()+100000; //將隨機(jī)數(shù)變換為6位數(shù),作為關(guān)鍵字

            while (In (key)==1) {

            key=rand ()+100000;

            }

            [++]=key;

            a=Hash (key);

            for (j=a;(ze[j].key!=MIN)&&(ze[j].key!=MB);j=j%dex+1) {

            ++;

            }

            ++;

            ze[j].key=key; //插入哈希查找表

            }

            } //end CreateHashTable

            void PrintHashTable () {

            //顯示哈希表

            int i=0,num=0;

            printf ("注:6位數(shù)為關(guān)鍵字,括號(hào)中的數(shù)為在哈希查找表中的位置下標(biāo).
            ");

            for (i=1;i<=dex;i++) {

            if ((ze[i].key!=MIN)&&(

            ze[i].key!=MB)) {

            num++; //記錄輸出個(gè)數(shù)

            if (i<10) printf ("%d( %d) ",ze[i].key,i);

            el if (i<100) printf ("%d( %d) ",ze[i].key,i);

            el if (i<1000) printf ("%d( %d) ",ze[i].key,i);

            el printf ("%d(%d) ",ze[i].key,i);

            if (num%5==0) printf ("
            "); //使輸出樣式一致

            }

            }

            if (num%5!=0) printf ("
            ");

            } //end PrintHashTable

            Status SearchHashTable (KeyType key) {

            //查找

            int i=0,j=0,num=0,a=0;

            a=Hash (key);

            for (i=1,j=a;(i<=dex)&&(key!=ze[j].key);j=j%dex+1,i++) {

            num++;

            }

            num++;

            if (i>dex) {printf ("查找失敗,關(guān)鍵字比較次數(shù)為:%d
            ",num-1);return ERROR;}

            el {printf ("查找成功,關(guān)鍵字比較次數(shù)為:%d,記錄的存儲(chǔ)位置為:%d
            ",num,j);return OK;}

            } //end SearchHashTable

            Status InrtHashTable (KeyType key) {

            //插入“新紀(jì)錄”的關(guān)鍵字

            int i=0,a=0,j=0;

            for (i=1;i<;i++) { //在關(guān)鍵字棧中查找

            if (key==[i]) {printf ("此關(guān)鍵字已存在,操作無(wú)法進(jìn)行.
            ");return ERROR;}

            }

            if (==+1) { //棧滿,需重分配空間

            =(KeyType *)realloc (,(+3)*sizeof (KeyType));

            }

            [++]=key;++; //數(shù)據(jù)個(gè)數(shù)加1

            if (>dex) { //哈希查找表滿,需重分配空間

            dex++; //哈希查找表長(zhǎng)度加1

            ze=(RedType *)realloc (ze,(dex+1)*sizeof (RedType));

            }

            _factor=(double)/(double)dex; //計(jì)算裝填因子

            a=Hash (key);

            for (j=a;(ze[j].key!=MIN)&&(ze[j].key!=MB);j=j%dex+1) {

            ++;

            }

            ++;

            ze[j].key=key; //插入哈希查找表

            printf ("此關(guān)鍵字不存在,插入成功.
            ");

            return OK;

            } //end InrtHashTable

            Status DeleteHashTable (KeyType key) {

            //刪除“已有紀(jì)錄”

            int i=0,a=0,j=0;

            for (i=1;(key!=[i])&&(i<);i++) {} //在關(guān)鍵字棧中查找

            if (i==) {printf ("此關(guān)鍵字不存在,無(wú)法進(jìn)行刪除操作.
            ");return ERROR;}

            for (a=i+1;a<;a++) { //刪除關(guān)鍵字棧中的相應(yīng)紀(jì)錄的關(guān)鍵字

            [a-1]=[a];

            }

            --; //修改棧頂下標(biāo)

            --; //修改數(shù)據(jù)個(gè)數(shù)

            _factor=(double)/(double)dex; //修改裝填因子

            a=Hash (key);

            for (j=a;key!=ze[j].key;j=j%dex+1) {

            --;

            }

            --;

            ze[j].key=MB; //做墓碑標(biāo)記

            printf ("此關(guān)鍵字存在,刪除成功.
            ");

            return OK;

            } //end DeleteHashTable

            void ASLofHashTable () {

            //計(jì)算哈希表的平均查找長(zhǎng)度,假定各數(shù)據(jù)查找概率一樣

            double a=0.0;

            a=(double)/(double);

            printf ("該哈希表的ASL為:%lf
            ",a);

            } //end ASLofHash

            Table



            /*主函數(shù)部分*/

            void main () {

            int menu=1;KeyType key;

            while (menu) {

            printf ("***************************菜單如下******************************
            ");

            printf (" 0————————————————完全結(jié)束操作
            ");

            printf (" 1————————————————?jiǎng)?chuàng)建哈希表
            ");

            printf (" 2————————————————顯示哈希表
            ");

            printf (" 3————————————————哈希查找
            ");

            printf (" 4————————————————插入新紀(jì)錄
            ");

            printf (" 5————————————————?jiǎng)h除已有紀(jì)錄
            ");

            printf (" 6————————————————計(jì)算ASL
            ");

            printf ("請(qǐng)選擇菜單:");

            scanf ("%d",&menu);

            switch (menu) {

            ca 0:

            break;

            ca 1:

            printf ("**********************開(kāi)始創(chuàng)建哈希表**********************
            ");

            CreateHashTable ();

            printf ("**********************結(jié)束創(chuàng)建哈希表**********************
            ");

            break;

            ca 2:

            printf ("**********************開(kāi)始顯示哈希表**********************
            ");

            PrintHashTable ();

            printf ("**********************結(jié)束顯示哈希表**********************
            ");

            break;

            ca 3:

            printf ("**********************開(kāi)始哈希查找**********************
            ");

            printf ("請(qǐng)輸入關(guān)鍵字(1#####,#為數(shù)字):");

            scanf ("%d",&key);

            SearchHashTable (key);

            printf ("**********************結(jié)束哈希查找**********************
            ");

            break;

            ca 4:

            printf ("**********************開(kāi)始插入新紀(jì)錄**********************
            ");

            printf ("請(qǐng)輸入“新紀(jì)錄”的關(guān)鍵字(######,#為數(shù)字):");

            scanf ("%d",&key);

            InrtHashTable (key);

            printf ("**********************結(jié)束插入新紀(jì)錄**********************
            ");

            break;

            ca 5:

            printf ("**********************開(kāi)始刪除已有紀(jì)錄**********************
            ");

            printf ("請(qǐng)輸入“已有紀(jì)錄”的關(guān)鍵字(######,#為數(shù)字):");

            scanf ("%d",&key);

            DeleteHashTable (key);

            printf ("**********************結(jié)束刪除已有紀(jì)錄**********************
            ");

            break;

            ca 6:

            printf ("**********************開(kāi)始計(jì)算ASL***********************
            ");

            ASLofHashTable ();

            printf ("**********************結(jié)束計(jì)算ASL***********************
            ");

            break;

            default:

            printf ("選擇錯(cuò)誤,無(wú)法操作.
            ");

            break;

            }

            printf ("
            ");

            }

            printf ("操作完全結(jié)束
            ");

            } //end main



            本文發(fā)布于:2023-03-04 07:06:35,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/e/action/ShowInfo.php?classid=88&id=3246

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:請(qǐng)輸入關(guān)鍵字.doc

            本文 PDF 下載地址:請(qǐng)輸入關(guān)鍵字.pdf

            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫(xiě)作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書(shū)|專利查詢|
            主站蜘蛛池模板: 欧美一级高清片久久99| 亚洲熟妇自偷自拍另类| 自偷自拍亚洲综合精品第一页| 国产免费高清69式视频在线观看| 亚洲人成在久久综合网站| 久久婷婷五月综合鬼色| 亚洲精品无码日韩国产不卡av | 欧美日韩精品一区二区三区| 美女自卫慰黄网站| 四虎在线播放亚洲成人| 91国内精品久久精品一本| 欧美黑吊大战白妞| 欧洲码亚洲码的区别入口| 亚洲永久精品ww47永久入口| 日本精选一区二区三区| 免费高清特级毛片A片| 欧美xxxx性bbbbb喷水| 久久综合亚洲色一区二区三区 | 精国产品一区二区三区a片| 鲁一鲁一鲁一鲁一澡| 无码丰满熟妇| 成人区人妻精品一区二蜜臀| 国产精品一二三中文字幕| 人妻无码∧V一区二区| 免费高潮了好湿h视频| 久久精品夜夜夜夜夜久久| 女人喷液抽搐高潮视频| 国产精品麻豆成人av| 双乳奶水饱满少妇呻吟免费看| 强奷漂亮少妇高潮伦理| 在线高清免费不卡全码| 福利写真视频一区二区| 亚洲综合不卡一区二区三区| 国产不卡网| 72种姿势欧美久久久久大黄蕉| 好男人视频在线播放| 69精品丰满人妻无码视频a片| 久久精品人妻无码专区| 亚洲人成77777在线观| 久久精品国产福利一区二区| av一区二区人妻无码|