#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cstring>
#include <list>
#include <stdio.h>
#include <string.h>
typedef struct _STU
{
int id;
char name[10];
bool operator==(const _STU&);//用remove要重载==,除非是内置函数
}STU;
#include <iomanip>
#include <algorithm>
#include <cstring>
#include <list>
#include <stdio.h>
#include <string.h>
typedef struct _STU
{
int id;
char name[10];
bool operator==(const _STU&);//用remove要重载==,除非是内置函数
}STU;
bool STU::operator==(const _STU &stu )
{
if(stu.id==id)
if(strcmp(stu.name,name)==0)
return true;
return false;
}
typedef std::list<STU> LSTU;
LSTU m_list_stu;
std::list<STU>::iterator itl_stu;
void insert(STU node)
{
//m_list_stu.push_front(node);
itl_stu=m_list_stu.begin();
itl_stu++;
m_list_stu.insert(itl_stu,node);
}
void del(const STU &node)
{
/*itl_stu=m_list_stu.begin();
while(itl_stu!=m_list_stu.end())
{
if(itl_stu->id==node.id)
{
itl_stu=m_list_stu.erase(itl_stu);
break;
}
itl_stu++;
}
*/
//std::list <int> L_int;
// int tb = 89;
//L_int.remove(tb);
m_list_stu.remove(node);
//m_list_stu.erase(m_list_stu.begin(),m_list_stu.end());
}
int find(char * name)
{
itl_stu=m_list_stu.begin();
while(itl_stu!=m_list_stu.end())
{
if(strcmp(itl_stu->name,name)==0)
break;
itl_stu++;
}
return itl_stu->id;
}
void sort_maopao(LSTU &S_stu)
{
for(LSTU::iterator i=S_stu.begin();i!=S_stu.end();i++)
for(std::list<STU>::iterator j=i;j!=S_stu.end(); )
{
j++;
if(i->id < j->id)
{
int tmp_i=0;
char tmp_n[10]="";
tmp_i=i->id;
i->id=j->id;
j->id=tmp_i;
memcpy(tmp_n,i->name,sizeof(tmp_n));
memcpy(i->name,j->name,sizeof(i->name));
memcpy(j->name,tmp_n,sizeof(j->name));
}
}
}
{
if(stu.id==id)
if(strcmp(stu.name,name)==0)
return true;
return false;
}
typedef std::list<STU> LSTU;
LSTU m_list_stu;
std::list<STU>::iterator itl_stu;
void insert(STU node)
{
//m_list_stu.push_front(node);
itl_stu=m_list_stu.begin();
itl_stu++;
m_list_stu.insert(itl_stu,node);
}
void del(const STU &node)
{
/*itl_stu=m_list_stu.begin();
while(itl_stu!=m_list_stu.end())
{
if(itl_stu->id==node.id)
{
itl_stu=m_list_stu.erase(itl_stu);
break;
}
itl_stu++;
}
*/
//std::list <int> L_int;
// int tb = 89;
//L_int.remove(tb);
m_list_stu.remove(node);
//m_list_stu.erase(m_list_stu.begin(),m_list_stu.end());
}
int find(char * name)
{
itl_stu=m_list_stu.begin();
while(itl_stu!=m_list_stu.end())
{
if(strcmp(itl_stu->name,name)==0)
break;
itl_stu++;
}
return itl_stu->id;
}
void sort_maopao(LSTU &S_stu)
{
for(LSTU::iterator i=S_stu.begin();i!=S_stu.end();i++)
for(std::list<STU>::iterator j=i;j!=S_stu.end(); )
{
j++;
if(i->id < j->id)
{
int tmp_i=0;
char tmp_n[10]="";
tmp_i=i->id;
i->id=j->id;
j->id=tmp_i;
memcpy(tmp_n,i->name,sizeof(tmp_n));
memcpy(i->name,j->name,sizeof(i->name));
memcpy(j->name,tmp_n,sizeof(j->name));
}
}
}