C++ 中直接寻址表的实现程序
这是 C++ 中实现直接寻址表的程序。当每个元素都具有从通用集合 S = {0, 1, . . . ,n - 1} 中提取的键(其中 n 不是太大且每个键都是唯一的)时,将使用直接寻址表。这有助于实现快速的插入、搜索和删除操作。
函数和伪代码
Begin insert(): Take the table variables word and key as argument. T[ x.key ] = x, where x is a value of key. delete(): Take the table variables word and key as argument. T[ x.key ] = tab(0,” ”) search(): Return T[key] End
示例
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstdio>
using namespace std;
struct tab { //declaration of variables of the table.
string word;
int key;
tab()
{}
tab( int k, string w ) //constructor to initialize the
variable. {
word=w;
key = k;
}
};
void INSERT( tab T[], tab x ) {
T[ x.key ] = x;
}
void DELETE( tab T[], tab x ) {
T[ x.key ] = tab(0, "");
}
tab SEARCH( tab T[], int key ) {
return T[ key ];
}
int main() {
int i, k, c;
string str;
tab T[65536]; //initialize size of the table.
tab x;
for(i = 0; i < 65536;i++)
T[i] = tab(0,"");
while (1) {
cout<<"1.Insert element into the key"<<endl;
cout<<"2.Delete element from the table"<<endl;
cout<<"3.Search element into the table"<<endl;
cout<<"4.Exit"<<endl;
cout<<"Enter your Choice: ";
cin>>c;
switch(c) {
case 1: {
string str1 = "";
cout<<"Enter the key value: ";
cin>>k;
cout<<"Enter the string to be inserted: ";
cin.ignore();
getline(cin, str);
INSERT(T, tab(k, str));
break;
}
case 2:
cout<<"Enter the key of element to be deleted: ";
cin>>k;
x = SEARCH(T, k);
DELETE(T, x);
break;
case 3:
cout<<"Enter the key of element to be searched: ";
cin>>k;
x = SEARCH(T, k);
if (x.key == 0) {
cout<<"No element inserted at the key"<<endl;
continue;
}
cout<<"Element at key "<<k<<" is-> ";
cout<<"\""<<x.word<<"\""<<endl;
break;
case 4:
exit(1);
default:
cout<<"Wrong Choice"<<endl;
}
}
return 0;
}输出
1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 1 Enter the key value: 1 Enter the string to be inserted: hi 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 1 Enter the key value: 2 Enter the string to be inserted: tutorials 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 1 Enter the key value: 3 Enter the string to be inserted: point 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 3 Enter the key of element to be searched: 1 Element at key 1 is-> "hi" 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 3 Enter the key of element to be searched: 4 No element inserted at the key 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 2 Enter the key of element to be deleted: 1 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 3 Enter the key of element to be searched: 1 No element inserted at the key 1.Insert element into the key 2.Delete element from the table 3.Search element into the table 4.Exit Enter your Choice: 4
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP