欢迎来到天天文库
浏览记录
ID:24454240
大小:57.51 KB
页数:17页
时间:2018-11-14
《双链表—电话簿管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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
此文档下载收益归作者所有