64,649
社区成员
发帖
与我相关
我的任务
分享
#include <stdlib.h>
#include <iostream>
#include <iostream>
using namespace std;
#define MaxSize 100
struct Node
{
int data;
Node *next;
};
class Linklist
{
public:
void insret(int pos,int x);
Linklist(int a[],int n);
void PrintList();
private:
Node *first;
};
Linklist::Linklist(int a[], int n)
{
Node *r = NULL;
for(int i=0;i<n;i++)
{
Node *s = new Node;
if (r == NULL)
{
r = s;
}
else
{
r->next = s;
r = r->next;
}
r->data=a[i];
r->next=NULL;
if (i == 0)
{
first = r;
}
}
}
void Linklist::insret(int pos,int x)
{
Node *p;
Node *s;
p=first;
int count=0;
while(p != NULL && count < pos-1)
{
p=p->next;
count++;
}
if(p==NULL)
{
throw"位置";
}
else
{
s=new Node;
s->data=x;
s->next=p->next;
p->next=s;
}
}
void Linklist::PrintList()
{
Node *cur = first;
while(cur)
{
cout << cur->data << " ";
cur = cur->next;
}
cout << endl;
}
int main()
{
int n,pos,x;
cin>>n;
int *a = new int[n];
int i;
for(i=0;i<n;i++)
{
cin>>a[i];
}
Linklist L(a,n);
cin>>pos;
cin>>x;
L.insret(pos,x);
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout << endl;
L.PrintList();
delete [] a;
getchar();
return 0;
}