返回信息流附上程序 求大神帮改
#include<iostream>
using namespace std;
template<class T>
struct Node
{
T data;
struct Node<T>*next;
};
template<class T>
class LinkList
{
public:
LinkList(){front=new Node<T>;front->next=NULL;}
LinkList(T a[],int n);
~LinkList();
void PrintList();
Node<T>*Get(int i);
int GetLength(int n);
int Locate(T x);
void Insert(int i,T x);
T Delete(int i);
private:
Node<T>*front;
};
template<class T>
LinkList<T>::LinkList(T a[],int n)
{
front=new Node<T>;
front->next=NULL;
for(int i=n-1;i>=0;i--)
{
Node<T>*s=new Node<T>;
s->data=a[i];
s->next=front->next;
front->next=s;
}
}
template<class T>
int LinkList<T>::GetLength()
{
Node<T>*p=front->next;
int l=0;
while(p)
{
if(p->data!=0)
l++;
p=p->next;
}
return l;
}
template<class T>
void LinkList<T>::Insert(int i,T x)
{
int b=0;
Node<T>*p=front;
if(i!=1)p=Get(i-1);
if(p){
Node<T>*s=new Node<T>;
s->data=x;
s->next=p->next;
p->next=s;
}
else try
{
if(b==0)
throw"position error";
}
catch(const char *s)
{ }
};
template<class T>
int LinkList<T>::Locate(T x)
{
Node<T>*p=front->next;
int j=1;
while(p)
{
if(p->data==x)return j;
p=p->next;
j++;
}
return -1;
}
template<class T>
Node<T>* LinkList<T>::Get(int i)
{
Node<T>*p=front->next;
int j=1;
while(p&&j!=i)
{
p=p->next;
j++;
}
return p;
}
template<class T>
T LinkList<T>::Delete(int i)
{
Node<T>*p=front;
if(i!=1) p=Get(i-1);
Node<T>*q=p->next;
p->next=q->next;
T x=q->data;
delete q;
return x;
}
template<class T>
LinkList<T>::~LinkList(){
Node<T>*p=front;
while(p)
{
front=p;
p=p->next;
delete front;
}
}
int main()
{
int b[30]={0},a[30];
int t,n=0,x,function,in=1;
cin>>n;
for(int i=0;i<30;i++)
{
cin>>b[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<=n-i+1;j++)
{
if(b[j]>b[j+1])
t=b[j+1];
b[j+1]=b[j];
b[j]=t;
}
}
a[30]=b[30];
for(int k=1;k<=n;k++)
{
cout<<a[k]<<endl;
}
LinkList<int> l(a,n);
while(cin>>function)
{
if(function==0) break;
else
if(function!=5&&function!=0)
{
cin>>x;
switch(function)
{
case 1:
for(int i=1;i<n;i++)
{
if(a[i]<x) in++;
}
l.Insert(in, x);
l.PrintList();
break;
case 2:
{
if(x>n||x<0)
cout<<"position error";
else
{
l.Delete(x);
l.PrintList();
}
}
break;
case 3:
{
if(x>n||x<0)cout<<"position error";
else cout<<(l.Get(x)->data);
}
break;
case 4:
{
if(l.Locate(x)==-1) cout<<"no element";
else cout<<l.Locate(x);
}
break;
}
else if(function==5)cout<<l.GetLength();
}
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #89464同步于 2015/11/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
已疯 无法解析的外部符号 这是什么错。
bluesun
2015/11/19镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
你的需要的库没有添加到项目里去:
我之前的一个例子[http=]http://www.blogbus.com/runingtortoise-logs/272212751.html
把项目编译结果图截上来,看看是哪个产生的错误
谢谢~已经解决了 之前的结果是无法解析的外部符号。看不懂。。
【 在 shan10211865 的大作中提到: 】
: 你的需要的库没有添加到项目里去:
: 我之前的一个例子[http=]http://www.blogbus.com/runingtortoise-logs/272212751.html
: 把项目编译
: .........
发自「贵邮」