|
|
链表 List.h |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
/////////////////////////// // // // 链表 List.h // // // //////////////////////////
#include"list.h" #include<iostream.h> #include<stdlib.h>
template<class type> void initlist(type &tmp) { list<type> List; int n;
while(true) {
cout<<"请选择你要对链表进行的操作 "<<endl <<"1) 在末尾插入数据"<<endl <<"2) 在任意处插入数据"<<endl <<"3) 删除数据项"<<endl <<"4) 删除整个链表"<<endl <<"5) 打印链表"<<endl <<"6) 查找数据项"<<endl <<"7) 退出"<<endl;
cout<<">\ "; cin>>n;
while(n<1||n>7) { cout<<"输入有误,请从新输入!"<<endl; cout<<">\ "; cin>>n; }
switch(n) { case 1: list_insertend(List);break; case 2: list_insert(List);break; case 3: list_delnode(List);break; case 4: list_makeempty(List);break; case 5: list_print(List);break; case 6: list_find(List);break; case 7: return ;break; }
}
}
void LIST() { int n; cout<<"请选择你要构造的链表的数据类型 1)整型,2)字符型,3)浮点型"<<endl; cout<<">\ "; cin>>n;
while(n<1||n>3) { cout<<"输入有误,请从新输入!"<<endl; cout<<">\ "; cin>>n; }
char t_c='c'; int t_i=12; double t_f=23.3;
switch(n) { case 1:initlist(t_i);break; case 2:initlist(t_c);break; case 3:initlist(t_f);break; } }
template<class type> void list_insertend(list<type> &L) { type t; cout<<"请输入插入数据: >\"; cin>>t; L.insertend(t); }
template<class type> void list_find(list<type> &L) { type T; cout<<"请输入你要查找的数据项:>\ "; cin>>T;
int i; if(!(i=L.find(T))) cout<<"你要查找的数据项不存在!"<<endl; else cout<<"你要查找的数据项在第"<<i<<"个位置"<<endl; }
template<class type> void list_insert(list<type> &L) {
type t; cout<<"请输入插入数据: >\"; cin>>t;
int n; cout<<"请输入插入位置: >\"; cin>>n; if(L.insert(t,n)) cout<<"插入成功! 在"<<n<<"位置 插入"<<t<<endl; else cout<<"插入失败! 插入位置不正确!"<<endl;
}
template<class type> void list_delnode(list<type>& L) { int i; cout<<"请输入要删除数据项的位置: >\"; cin>>i;
while(i<1||i>L.getlen()) { cout<<"输入有误,可能大与链表长度,请从新输入!"<<endl; cout<<">\ "; cin>>i; }
L.delnode(i); } template<class type> void list_makeempty(list<type> &L) { L.makeempty(); }
template<class type> void list_print(list<type> &L) { if(!L.print()) cout<<"链表为空!"<<endl; }

|
|
相关文章:相关软件: |
|