数据结构之
基于不同策略的英文单词的词频统计和检索系统
本次更新了系统的菜单代码。
整个系统已全部更新完成,完整代码请前往专栏查看。或者点击下方:
传送通道
#include<iostream>
using namespace std;
void word_frequency_statistics() { cout << "空" << endl; system("pause"); return; }//词频统计
void word_sort() { system("pause"); return; }//单词查找
//线性表函数声明
void list_menu(); //线性表菜单
void seqlist_menu(); //顺序查找菜单
void seqlist_seq_menu(); //基于顺序表的顺序查找菜单
void linklist_seq_menu(); //基于链表的顺序查找菜单
void word_sort_menu(); //单词查找菜单
void half_seqlist_menu(); //折半查找菜单
void seqlist_half_sort();//基于顺序表的折半查找菜单
//二叉排序树函数声明
void Bitree_menu();//二叉排序树菜单
void Bitree_seq_sort();//二叉排序树查找
//哈希表函数声明
void Hash_menu();//哈希表菜单
void open_Hash_sort();//基于开放地址法的哈希查找
void link_Hash_sort();//基于链地址法的哈希查找
//主菜单
void major_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---菜单---" << endl;
cout << "1.基于线性表的查找" << endl;
cout << "2.基于二叉排序树的查找" << endl;
cout << "3.基于哈希表的查找" << endl;
cout << "4.退出系统" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char major_menu_key;
cin >> major_menu_key;
switch (major_menu_key)
{
case '1': list_menu(); break;
case '2': Bitree_menu(); break;
case '3': Hash_menu(); break;
case '4': cout << "系统已退出" << endl; return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//线性表相关函数
//线性表菜单
void list_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于线性表的查找---" << endl;
cout << "1.顺序查找" << endl;
cout << "2.折半查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char list_menu_key;
cin >> list_menu_key;
switch (list_menu_key)
{
case '1': seqlist_menu(); break;
case '2': half_seqlist_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//顺序查找菜单
void seqlist_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---顺序查找---" << endl;
cout << "1.基于顺序表的顺序查找" << endl;
cout << "2.基于链表的顺序查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char seqlist_menu_key;
cin >> seqlist_menu_key;
switch (seqlist_menu_key)
{
case '1': seqlist_seq_menu(); break;
case '2': linklist_seq_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于顺序表的顺序查找菜单
void seqlist_seq_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于顺序表的顺序查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char seqlist_seq_menu_key;
cin >> seqlist_seq_menu_key;
switch (seqlist_seq_menu_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于链表的顺序查找菜单
void linklist_seq_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于链表的顺序查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char linklist_seq_menu_key;
cin >> linklist_seq_menu_key;
switch (linklist_seq_menu_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//单词查找菜单
void word_sort_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---单词查找---" << endl;
cout << "请输入要查找的单词:";
char word;
cin >> word;
if (1)//word_sort()
{
cout << "此单词的词频:" << endl;
cout << "查找该单词所花费的时间:" << endl;
cout << "平均查找长度:" << endl;
}
else
{
cout << "查找失败" << endl;
}
return;
}
}
//折半查找菜单
void half_seqlist_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---折半查找---" << endl;
cout << "1.基于顺序表的折半查找" << endl;
cout << "2.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char list_half_sort_key;
cin >> list_half_sort_key;
switch (list_half_sort_key)
{
case '1': seqlist_half_sort(); break;
case '2': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于顺序表的折半查找菜单
void seqlist_half_sort()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于顺序表的折半查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char seqlist_half_menu_key;
cin >> seqlist_half_menu_key;
switch (seqlist_half_menu_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//二叉排序树相关函数
//二叉排序树菜单
void Bitree_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---二叉排序树查找---" << endl;
cout << "1.基于二叉排序树的顺序查找" << endl;
cout << "2.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char Bitree_menu_key;
cin >> Bitree_menu_key;
switch (Bitree_menu_key)
{
case '1': Bitree_seq_sort(); break;
case '2': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于二叉排序树的顺序查找
void Bitree_seq_sort()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于顺序表的顺序查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char Bitree_seq_sort_key;
cin >> Bitree_seq_sort_key;
switch (Bitree_seq_sort_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//哈希表相关函数
//哈希表菜单
void Hash_menu()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---哈希表---" << endl;
cout << "1.基于开放地址法的哈希查找" << endl;
cout << "2.基于链地址法的哈希查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char Hash_menu_key;
cin >> Hash_menu_key;
switch (Hash_menu_key)
{
case '1': open_Hash_sort(); break;
case '2': link_Hash_sort(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于开放地址法的哈希查找
void open_Hash_sort()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于开放地址法的哈希查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char open_Hash_sort_key;
cin >> open_Hash_sort_key;
switch (open_Hash_sort_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
//基于链地址法的哈希查找
void link_Hash_sort()
{
for (; 1;)
{
system("cls");
cout << "*******************基于不同策略的英文单词的词频统计和检索系统*******************" << endl;
cout << "---基于链地址法的哈希查找---" << endl;
cout << "1.词频统计" << endl;
cout << "2.单词查找" << endl;
cout << "3.返回上一级" << endl;
cout << "请按相应的数字键进行选择:" << endl;
char link_Hash_sort_key;
cin >> link_Hash_sort_key;
switch (link_Hash_sort_key)
{
case '1': word_frequency_statistics(); break;
case '2': word_sort_menu(); break;
case '3': return;
default: cout << "输入的不是有效符号,请重新输入" << endl; system("pause");
}
}
return;
}
int main()
{
major_menu();
return 0;
}