双链表—电话簿管理

双链表—电话簿管理

ID:24454240

大小:57.51 KB

页数:17页

时间:2018-11-14

双链表—电话簿管理_第1页
双链表—电话簿管理_第2页
双链表—电话簿管理_第3页
双链表—电话簿管理_第4页
双链表—电话簿管理_第5页
资源描述:

《双链表—电话簿管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include#include#include#includeusingnamespacestd;structfriend_node{charfirst_name[15];charlast_name[20];charphone_num[12];friend_node*next;friend_node*prior;};friend_node*head_ptr=NULL;friend_node*tail_ptr=NULL;friend_n

2、ode*current_ptr;//当前指针:指向链表中某个正在被处理的结点classRecord{public://structfriend_node;//voidUserchoice(intchoice);voidInsertRecord();//插入记录voidInsertNode(friend_node*new_ptr);//插入结点,分3种情况,头部,尾部,中间voidInsertNodeAtHead(friend_node*new_ptr);voidInsertNodeAtEnd(friend_node*new_ptr);voi

3、dShowList();voidSearchByLastName();voidDeleteRecord();//删除记录intVerifyDelete();voidDeleteNode();//删除结点,分3情况,删除头部,尾部,中间voidDeleteNodeAtHead();voidDeleteNodeAtEnd();voidDeleteNodeAtMiddle();voidSaveFile();voidLoadFile();voidDeleteList();voidShowmenu();voidModifyRecord();};voi

4、dRecord::InsertRecord()//插入记录,分3种情况,头部,尾部,中间{friend_node*new_ptr;new_ptr=newfriend_node;if(new_ptr!=NULL){cout<<"名字:";cin>>new_ptr->first_name;cout<<"姓氏:";cin>>new_ptr->last_name;cout<<"电话号码:";cin>>new_ptr->phone_num;InsertNode(new_ptr);cout<<"是否继续添加信息?(y/n)";chari

5、nput;cin>>input;if('y'==input

6、

7、'Y'==input)InsertRecord();elseif('n'==input

8、

9、'N'==input)return;}elsecout<<"----------";}voidRecord::InsertNodeAtHead(friend_node*new_ptr){new_ptr->next=head_ptr;//首先new_ptr的前后都得有指向new_ptr->prior=tail_ptr;head_ptr->prior=new_ptr;tail_ptr->ne

10、xt=new_ptr;head_ptr=new_ptr;}voidRecord::InsertNodeAtEnd(friend_node*new_ptr){new_ptr->prior=tail_ptr;new_ptr->next=head_ptr;tail_ptr->next=new_ptr;head_ptr->prior=new_ptr;tail_ptr=new_ptr;}voidRecord::InsertNode(friend_node*new_ptr){//system("cls");friend_node*temp_ptr;//

11、1.双向链表为空if(head_ptr==NULL){new_ptr->next=new_ptr;new_ptr->prior=new_ptr;head_ptr=new_ptr;tail_ptr=new_ptr;return;}//2.链表中只有一个结点if(head_ptr->next=head_ptr){if(strcmp(new_ptr->last_name,head_ptr->last_name)<0)//链表头部{InsertNodeAtHead(new_ptr);}else//链表尾部{InsertNodeAtEnd(new_p

12、tr);}return;}//3.如果链表中不是只有一个结点if(head_ptr->next!=head_ptr){current_ptr=head_ptr->next;whi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。