用STL中的list对象设计一个函数删除链表中的所有重复元素
我写的代码是这样的#include<iostream>#include<list>#include<algorithm>usingnamespacestd;//////重...
我写的代码是这样的
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
//////重载list<T>的输出操作符////////////
template <typename T>
ostream & operator<<(ostream & out,const list<T> & alist)
{
for(list<T>::const_iterator i = alist.begin();i!=alist.end();i++)
out<<*i<<" ";
return out;
}
//////主函数///////////////
int main()
{
list<int> array;
int num[7]={2,53,6,46,53,2,10}; //给list赋值
for(int i=0;i<7;i++)
{
array.push_back(num[i]);
}
list<int>::iterator arr; //迭代器
list<int>::iterator arrtemp;
array.sort(); //给链表排序
for(arr=array.begin();arr!=array.end();)
{
arrtemp==arr++;
if(*arr==*arrtemp)
{
arr==array.erase(arr);
}
else
arr++;
}
cout<<"New array is : "<<array<<endl;
return 0;
}
编译没有错误但是运行时不行,麻烦各位大大帮我看看错在哪里了 展开
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
//////重载list<T>的输出操作符////////////
template <typename T>
ostream & operator<<(ostream & out,const list<T> & alist)
{
for(list<T>::const_iterator i = alist.begin();i!=alist.end();i++)
out<<*i<<" ";
return out;
}
//////主函数///////////////
int main()
{
list<int> array;
int num[7]={2,53,6,46,53,2,10}; //给list赋值
for(int i=0;i<7;i++)
{
array.push_back(num[i]);
}
list<int>::iterator arr; //迭代器
list<int>::iterator arrtemp;
array.sort(); //给链表排序
for(arr=array.begin();arr!=array.end();)
{
arrtemp==arr++;
if(*arr==*arrtemp)
{
arr==array.erase(arr);
}
else
arr++;
}
cout<<"New array is : "<<array<<endl;
return 0;
}
编译没有错误但是运行时不行,麻烦各位大大帮我看看错在哪里了 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询