| 查看: 187 | 回复: 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 ] |
» 猜你喜欢
现代”学阀”该如何界定
已经有14人回复
求合成方法
已经有8人回复
师弟论文见刊大半年才想起来申请专利,还能抢救一下吗?
已经有4人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有5人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有5人回复
有机合成以后会不会被AI改变?做科研的虫友怎么看
已经有8人回复
我的奶奶
已经有3人回复
3楼2009-08-13 13:39:01
简单回复
烂熊邓2楼
2009-06-12 12:27
回复














回复此楼