本文探讨了哈希表数据结构在通讯录应用程序中的具体应用和实现方式,详细分析了如何利用哈希表提高联系人查找、插入及删除等操作效率。
```cpp
#include
#include
#include
using namespace std;
#define NULL 0
unsigned int key; //用于输入/输出文件流类的变量
unsigned int key2; //key和key2分别作为电话号码和姓名的关键字
struct node {
char name[8], address[20];
char num[11];
struct node *next;
};
typedef struct node* pnode;
void hash(char num[]) {
int i = 3, key=0; //以电话号码为关键字建立哈希函数
while(num[i] != NULL) {
key += (int)num[i];
i++;
}
key %= 20;
}
void hash2(char name[]) {
int i = 1, key2 = 0; //姓名作为关键字的哈希函数
while(name[i] != NULL) {
key2 += (int)name[i];
i++;
}
key2 %= 20;
}
node* input() { //输入节点信息,建立结点,并将结点的next指针指向空
node *temp = new node;
temp->next=NULL;
cout<<输入姓名:<>temp->name;
cout<<输入地址:<>temp->address;
cout<<输入电话:<>temp->num;
return temp;
}
int apend() { //添加节点
node *newphone, *newname;
newphone = input();
hash(newphone->num);
newname = newphone;
hash2(newname->name);
if(phone[key] == NULL) phone[key]=newnode;
if(nam[key2] == NULL) nam[key2]=newnode;
newphone->next = phone[key]->next;
phone[key]->next=newphone;
newname->next = nam[key2]->next;
nam[key2]->next=newname;
return 0;
}
void create() { //新建节点
int i;
phone= new pnode[20];
for(i=0;i<20;i++) {
phone[i]=new node;
phone[i]->next=NULL;
}
}
void create2() { //新建节点
int i;
nam = new mingzi[20];
for(i=0;i<20;i++) {
nam[i] = new node;
nam[i]->next=NULL;
}
}
void list() { //显示列表
int i, j;
pnode *p;
for(j=0;j<20;j++)
if(phone[j]!=NULL)
cout<name<<\n;
for(i=0;i<20;i++) {
node *p = phone[i]->next;
while(p) {
cout << p->name << ;
p=p->next;
}
cout << \n;
}
}
void list2() { //显示列表
int i, j;
mingzi *q;
for(j=0;j<20;j++) {
if(nam[j]!=NULL)
cout<name<<\n;
}
for(i=0;i<20;i++) {
node *p = nam[i]->next;
while(p) {
cout << p->name << ;
p=p->next;
}
cout << \n;
}
}
int main() {
char num[11];
char name[8];
create();
create2();
int sel;
while(1) {
menu();
cin>>sel;
if(sel==3){
cout<<8姓名查询 <>b;
if(b==9){
cout<<请输入电话号码:<>num;
cout<<输出查找的信息:<>name;
cout<<输出查找的信息:<
优质
本资源探讨了ASP.NET结合SQL Server技术在高校学生考勤管理系统中的设计与实现,涵盖系统架构、数据库设计及安全措施等。
高校学生考勤系统的设计与实现是基于学生考勤业务与信息技术的结合来完成的。该系统利用了学生、教师以及教务管理人员在考勤过程中扮演的不同角色及其相互关系,建立了相应的数据结构。此系统采用B/S架构,并使用C#编程语言和SQL Server数据库进行开发。
三种用户类型(管理员、教师及学生)登录后可执行不同的功能:管理员主要负责基础信息管理、查看与处理请假记录以及对学生和教师的账户进行维护;教师则能够查阅课程安排,审批学生的请假请求并监督学生出勤情况;而学生可以查询班级课程表,并自行管理考勤和请假事务。
优质
本应用是一款基于Java语言开发并与SQL数据库交互的通讯录管理系统,方便用户高效管理联系人信息。
用Java编写的一个通讯录程序,使用MySQL作为数据库,并在控制台运行。
优质
C# ASP.NET通讯录是一款利用C#和ASP.NET技术开发的企业级通讯管理系统,用户可以方便地添加、编辑和查询联系人信息,提高工作效率。
C# ASP.NET通讯录系统适合初学者参考,开发环境为VS2005和SQL2005。
优质
狂龙ASP.NET通讯录SQL版是一款专为2009年设计的企业级通讯管理软件,采用ASP.NET技术与SQL数据库,提供高效、安全的数据存储和便捷的联系人管理功能。
狂龙通讯录 2009 版本支持与 SQL 数据库结合使用,提供多种功能如设置分类、添加及维护联系人资料、上传照片以及更改管理密码等。此外,该系统还具有背景音乐播放的功能,增添了一些情调和趣味性,希望用户会喜欢这款软件!
优质
本课程介绍如何使用C#编程语言结合Entity Framework(EF)框架进行数据库操作,特别针对Microsoft SQL Server环境下的开发实践。
C# 项目使用EF6框架,并包含数据库文件。稍作调整即可直接连接MySQL,十分方便。
优质
本项目通过构建个人通讯录管理系统,深入探讨和实践了Java编程技术的应用。系统采用面向对象的设计理念,实现了联系人信息的有效存储、查询与管理功能。此应用程序展示了类、数组及文件操作等核心概念的实际价值,并为进一步学习数据结构与算法打下坚实基础。
这是一个完整的通讯录Java程序设计,实现了添加、修改、查询和删除联系人的功能。