python用单链表写一个通讯录,包括添加,删除(可恢复),查找等基本功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python用单链表写一个通讯录,包括添加,删除(可恢复),查找等基本功能相关的知识,希望对你有一定的参考价值。

①输入数据建立通讯录表:在系统使用前先需要创建通讯录,可以一次输入(或文件导入)多个成员的通讯录信息,建立通讯录。要求此表为顺序(如列表list)存储结构。 ② 查看所有通讯录信息:显示通讯录表中所有成员的通讯录信息。 ③ 查询通讯录中满足要求的信息:可以根据不同方式查询,如按姓名查询、按姓氏查询、按编号查询等。 ④ 新增通讯录信息:每次可添加一个新成员的通讯录信息。 ⑤ 修改通讯录信息:修改通讯录中已有成员的信息。 ⑥ 删除通讯录成员:删除通讯录表中已有的成员,但需要把删除的成员信息放到另一张被删成员表(回收站)中,以便错误操作后允许恢复。该被删成员表要求采用单链表存储。 ⑦恢复被删成员信息:一旦发现误删,则可以在被删成员表(回收站)中找到该成员,重新加入到通讯录表中。 求大神帮忙……

参考技术A ///////////list3.c实现链表的插入删除查找
#include
#include
#include
typedef
struct
LNode
//////////定义数据结构体

int
num;
char
name[20];
struct
LNode*
next;
*Link;
///////////定义一个指针类型
typedef
struct

Link
head,tail;
int
len;
LinkList;
LinkList
*gList;
void
MenuInfo();
void
InputData(LinkList
*mList);
void
OutputData(LinkList
*mList);
void
InsertData(LinkList
*mList,int
n);
Link
SearchNode(LinkList
*mList,int
n);
void
DeleteData(LinkList
*mList,int
n);
void
main()

int
_choice;
int
_quit=0;
int
n=0;
gList=(LinkList
*)malloc(sizeof(LinkList));
gList->head=gList->tail=NULL;
do

MenuInfo();
scanf("%d",&_choice);
switch(_choice)

JAVA数据结构

定义一个通讯录类,要求
每个记录包括姓名和联系电话,
实现记录的添加、删除操作,
实现查找(输入姓名,输出联系电话)
记录输出,输出全部记录,输出查询记录
编写一个测试程序,对其中所有方法进行测试,请分别采用顺序表和单链表来实现

参考技术A public class CallNotes

String name;
String phoneNumber;
static Map<String,String> noteMap=null;
static List<CallLog> logList=null;

CallNotes()
this.noteMap = new HashMap<String,String>();
this.logList = new ArrayList<CallLog>();


void addRecord(String name,String number)
noteMap.put(name,number);

void removeRecord(String name)
noteMap.remove(name);


String searchPhoneNumber(String name)
String number=null;
number = noteMap.get(name);
logList.add(new CallLog(name, number, new Date()));
return number;

void outputCallLog(CallLog log)
if(log==null) return ;
log.outputLog();


class CallLog
String name;
String number;
Date date;
CallLog(String name,String num,Date date)
this.name=name;
this.number=num;
this.date=date;

void outputLog()
System.out.println("name:"+this.name);
System.out.println("number:"+this.number);
System.out.println("date:"+this.date);



用HashMap实现可以吗?本回答被提问者和网友采纳

以上是关于python用单链表写一个通讯录,包括添加,删除(可恢复),查找等基本功能的主要内容,如果未能解决你的问题,请参考以下文章

C语言设计个人通讯录管理系统

用单链表的写一个通讯录管理系统

JAVA数据结构

java实现双链表(差点没写吐系列...)

python 单链表操作

DS单链表--类实现