📄 list.h
字号:
#include"iostream.h"
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"common_people.h"
//#include "studentlist.h"
//#include"fstream.h"
#ifndef list_h
#define list_h
class list
{
common_people *root;
public:
list()
{root=NULL;}
void insert(common_people *s);
void remove(char *nm);
void seeking(char *nm);
void printlist();
void save(char *nm);
list order(int i);
void orderinsert(common_people *s,int j);
void clear();
};
//
void list::clear()
{
root=NULL;
}
//
void list::orderinsert(common_people *s,int j)
{
int key;
common_people *curr=root;
common_people *prey=NULL;
switch(j)
{
case 1:
key=s->maths;
while(curr!=NULL&&key>curr->maths)
{
prey=curr;
curr=curr->next;
}
break;
case 2:
key=s->computer;
while(curr!=NULL&&key>curr->computer)
{
prey=curr;
curr=curr->next;
}
break;
case 3:
key=s->english;
while(curr!=NULL&&key>curr->english)
{
prey=curr;
curr=curr->next;
}
break;
default:
key=s->total;
while(curr!=NULL&&key>curr->total)
{
prey=curr;
curr=curr->next;
}
break;
}
s->getnode();
s->ptr->next=curr;
if(prey==NULL)
root=s->ptr;
else
prey->next=s->ptr;
}
//
list list::order(int i)
{
list m;
common_people *curr=root;
common_people *prev=NULL;
while(curr!=NULL)
{
if(curr->type==1)
{
m.orderinsert(curr,i);
}
curr=curr->next;
}
return m;
}
//
void list::save(char *nm)
{
ofstream fileout(nm);
common_people *curr=root;
common_people *prev=NULL;
fileout.close();
while(curr!=NULL)
{
prev=curr;
curr->sav(nm);
curr=curr->next;
}
ofstream out(nm,ios_base::app);
out<<100<<endl;
out.close();
}
//
void list::insert(common_people *s)
{
char key[30];
strcpy(key,s->name);
common_people *curr=root;
common_people *prey=NULL;
while(curr!=NULL)
{
prey=curr;
curr=curr->next;
}
s->getnode();
s->ptr->next=curr;
if(prey==NULL)
root=s->ptr;
else
prey->next=s->ptr;
}
//
void list::remove(char *nm)
{
common_people *curr=root;
common_people *prev=NULL;
while(curr!=NULL&&strcmp(curr->name,nm)!=0)
{
prev=curr;
curr=curr->next;
}
if(curr!=NULL&&prev==NULL)
{
root=curr->next;
//delete curr ;
}
else if(curr!=NULL&&prev!=NULL)
{
prev->next=curr->next;
//delete curr;
}
else
{
cout<<"没有找到要删除的"<<endl<<"----------------------------------------------"<<endl;
}
}
//
void list::seeking(char *nm)
{
common_people *curr=root;
common_people *prev=NULL;
while(curr!=NULL&&strcmp(curr->name,nm)!=0)
{
prev=curr;
curr=curr->next;
}
if(curr!=NULL)
{
curr->print();
}
else
{
cout<<"没有找到"<<endl<<"---------------------------------------"<<endl;
}
}
//
void list::printlist()
{
common_people *current=root;
while(current!=NULL)
{
current->print();
cout<<"-----------------------------"<<endl;
current=current->next;
}
}
//
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -