| 查看: 144 | 回复: 2 | ||
| 【奖励】 本帖被评价1次,作者烂熊邓增加金币 0.5 个 | ||
| 当前主题已经存档。 | ||
[资源]
【原创】一个异质链表的代码:
|
||
|
////这个程序是两个文件组成: #include"异质链表.h" int main() {people *head=0,*end,*p; people *p1=0; people *q=0; int i,j; while(true) {cout<<"请选择:1:添加,2:显示,3:删除,4:退出"< switch(i) {case 1: cout<<"请选择:1:学生,2:教授,3:职工"< switch(j) {case 1: p=new student ;break; case 2: p=new professor ;break; case 3: p=new worker ;break; } if(head==0) {head=p; end=p;} else {end->next=p; end=p;} end->set(); end->next=0; break; case 2: for(p=head;p;p=p->next) p->show(); break; case 3: int m; cout<<"请输入要删除的元素的身份证号:"; cin>>m; if(head->id==m) {q=head; head=head->next; } else for(p1=head;p1->next;p1=p1->next) {if(p1->next->id==m) q=p1->next; p1->next=q->next; break; } if(q) delete(q); break; case 4: break; } ![]() ![]() if(i==4) break; } return 0; } //第二个文件: #include #include using namespace std; class people {protected: string name; string sex; int id; public: people *next; void virtual set()=0; void virtual show()=0; }; class student:public people { string grade; string average; public: void set() {cout<<"姓名:"; cin>>name; cout<<"性别:"; cin>>sex; cout<<"身份证:"; cin>>id; cout<<"年级:"; cin>>grade; cout<<"平均分:"; cin>>average; cout< void show() {cout<<"姓名:"< }; class professor:public people { float salary; public: void set() {cout<<"姓名:"; cin>>name; cout< cin>>sex; cout< cin>>id; cout<<"工资:"; cin>>salary; } void show() {cout<<" 姓名:"< class worker:public people { float hour; public: void set() {cout<<"姓名:"; cin>>name; cout<<"性别:"; cin>>sex; cout< cin>>id; cout<<"工作时间:"; cin>>hour; cout< void show() {cout<<"姓名:"< 这个程序可以把case3写成注释; 你在试试; case3的删除部分是有点问题;我们就交流交流; [ Last edited by 烂熊邓 on 2009-6-12 at 12:26 ] |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有27人回复
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
3楼2009-08-13 13:39:01
简单回复
烂熊邓2楼
2009-06-12 12:27
回复
















回复此楼