//hash.h
#include
using namespace std;
/*設 hash 函式為:
hash (key) = [ 字串所有字母的ascii碼的和 ] mod 51
*/class hashelem
string str;
int empty;
hashelem *pnext;
};class hash ;
bool searchhash(const string);
int lettersum(const string);
void insert(const string);
bool remove(const string);
private:
hashelem _elem[50];
int _length;
};//hash.cpp
#include "hash.h"
int hash::lettersum(const string str)
void hash::insert(const string s)
p = new hashelem;
(*p).empty = 1;
(*p).str = s;
(*p).pnext = 0;
_length++;
} else
}bool hash::searchhash(const string s)
return 0;
}bool hash::remove(const string s)
p = (*p).pnext;
}return 0;}/*
說明:本題,我參考了《資料結構》中關於「雜湊錶類」的相關演算法,
由於時間問題,並未在涉及參考相關演算法的**部分做標記。
完成本題總共花費時間大約40分鐘,程式未經完善。
1. 編寫乙個雜湊(hash)錶類,以字串作為關鍵字存放和查詢記錄,
提供公共成員函式進行雜湊表的記錄插入、查詢和刪除。
並在main函式中測試對該類的使用。
*/#include "hash.h"
#include
using namespace std;
void main()
string(char* s)
string(const string& s)
~string()
private:
int len;
char* str;
};class word
word(string& s,int cnt=0):name(s),occurs(cnt){}
private:
int occurs;
string name;
};class synantonym
synantonym(char* s1,char* s2,char* s3):wd(s1),synonym(s2),antonym(s3){};
~synantonym(){};
private:
string synonym;
word wd;
string antonym;
};void main()
/*3. 分析下列程式可能存在的問題。
*/#include
using namespace std;
class string
string(const string& s)
string()
~string()
private:
int len;
char* str;
};class word
word(string& s,int cnt=0):name(s),occurs(cnt){}
/*將下面的語句改為:
word(const word& w)
*/word(const word& w):name(w.name),occurs(0){}
private:
int occurs;
string name;
};void main()
C 第六次作業
一 專案2 陣列合併 已知有兩個有序的陣列a,b,將這兩個陣列合併到陣列c中,陣列c依然有序,如a 5 b 5 則c 10 includevoid main b 5 int c 10 i,j,k,t for i 0 i 5 i 將a陣列賦給c陣列前五項 c i a i for i 5,j 0 i 1...
第六次C 作業
問題及 檔名稱 8941 作 者 鐘芳祈 完成日期 2017 年 5月 16 日 版 本 號 v1.0 輸入描述 兩個陣列 問題描述 已知有兩個有序的陣列a,b,將這兩個陣列合併到陣列c中,陣列c依然有序 程式輸出 合併後的陣列 問題分析 先輸入陣列,進行合併後,再排序 演算法設計 問題及 檔名稱 ...
c 第六次作業
專案二 陣列合併 include using namespace std intmain b 5 c 10 i,j,t for i 0 i 5 i c i a i for i 0 i 5 i c i 5 b i for i 0 i 9 i for j 0 j 9 i j if c j c j 1 t...