使用STL之list实现链表逆置

//STL之链表,比自己做链表要简单多了,其他函数可以自己看看,比如插入、删除、查找、排序等
#include<iostream>
#include
<string>
#include
<list>
usingnamespacestd;

structNode
...{
stringname;
intage;
}
;

list
<Node>createListQueue(intn)//建立队列链表
...{
list
<Node>myList;
Nodet;

for(inti=0;i<n;i++)
...{
cin
>>t.name>>t.age;
myList.push_back(t);
}


returnmyList;
}


voidprtList(list<Node>myList)//输出链表
...{
list
<Node>::iteratorit;
for(it=myList.begin();it!=myList.end();it++)
...{
cout
<<it->name<<""<<it->age<<endl;
}

}


list
<Node>createListStack(intn)//建立栈链表
...{
list
<Node>myList;
Nodet;

for(inti=0;i<n;i++)
...{
cin
>>t.name>>t.age;
myList.push_front(t);
}


returnmyList;
}


voidrun()
...{
intn;
cin
>>n;

//假的链表逆置
/**//*list<Node>myList=createListStack(n);
prtList(myList);
*/


//真的链表逆置
list<Node>myList=createListQueue(n);
myList.reverse();
//直接使用reverse函数
prtList(myList);
}


intmain()
...{
inttotal;
cin
>>total;
for(intnow=1;now<=total;now++)run();
return0;
}
阅读更多
上一篇程序 和 服务 打包
下一篇浅谈SQL语句大小写是否区分的问题--【叶子】
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭