資料結構實踐 驗證演算法

2021-07-09 01:24:31 字數 1938 閱讀 6103

/* 

* 檔名稱: main.cpp

* 完成日期:2023年12月18日

* 版本號:codeblocks

* * 問題描述: 雜湊表及其運算的實現

* 輸入描述: 無

* 程式輸出: 見執行結果

*/ #include #define maxsize 100 //定義最大雜湊表長度

#define nullkey -1 //定義空關鍵字值

#define delkey -2 //定義被刪關鍵字值

typedef int keytype; //關鍵字型別

typedef char * infotype; //其他資料型別

typedef struct

hashdata;

typedef hashdata hashtable[maxsize]; //雜湊表型別

void insertht(hashtable ha,int &n,keytype k,int p) //將關鍵字k插入到雜湊表中

else //發生衝突時採用線性探查法解決衝突

while (ha[adr].key!=nullkey && ha[adr].key!=delkey);

ha[adr].key=k;

ha[adr].count=i;

}n++;

}void createht(hashtable ha,keytype x,int n,int m,int p) //建立雜湊表

for (i=0; i

insertht(ha,n1,x[i],p);

}int searchht(hashtable ha,int p,keytype k) //在雜湊表中查詢關鍵字k

if (ha[adr].key==k) //查詢成功

return adr;

else //查詢失敗

return -1;

}int deleteht(hashtable ha,int p,int k,int &n) //刪除雜湊表中關鍵字k

else //在雜湊表中未找到該關鍵字

return 0;

}void dispht(hashtable ha,int n,int m) //輸出雜湊表

int main()

; int n=11,m=13,p=13,i,k=29;

hashtable ha;

createht(ha,x,n,m,p);

printf("\n");

dispht(ha,n,m);

i=searchht(ha,p,k);

if (i!=-1)

printf(" ha[%d].key=%d\n",i,k);

else

printf(" 未找到%d\n",k);

k=77;

printf(" 刪除關鍵字%d\n",k);

deleteht(ha,p,k,n);

dispht(ha,n,m);

i=searchht(ha,p,k);

if (i!=-1)

printf(" ha[%d].key=%d\n",i,k);

else

printf(" 未找到%d\n",k);

printf(" 插入關鍵字%d\n",k);

資料結構實踐 Prim演算法的驗證

檔名稱 main.cpp,graph.h,graph.cpp 版本號 vc 6.0 問題描述 最小生成樹的普里姆演算法 輸入描述 無 程式輸出 見執行結果 include include define maxv 100 最大頂點個數 define inf 32767 inf表示 typedef in...

資料結構實踐 順序串演算法

本文針對資料結構基礎系列網路課程 4 串實踐專案。專案 順序串演算法 採用順序儲存方式儲存串,實現下列演算法並測試 1 試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元 void trans sqstring s,char c1,char c2 2 試編寫演算法,實現將已知字串所有字元...

資料結構實踐 順序串演算法

專案 順序串演算法 採用順序儲存方式儲存串,實現下列演算法並測試 1 試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元 void trans sqstring s,char c1,char c2 2 試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。v...