顺序表

来源:互联网 发布:mac装windows系统步骤 编辑:程序博客网 时间:2024/06/05 16:56

#include<iostream>
using namespace std;
typedef struct
{
 int *elem;
 int length;
 int listsize;
}list;
int init(list *l)
{
 l->elem=new int[10000];
 if(!l->elem)
  return -1;
 l->length=0;
 l->listsize=10000;
 return 0;
}
void creat(list *l,int n)
{
 int i;
 for(i=0;i<n;i++)
 {
  cin>>l->elem[i];
 }
 l->length=n;
}
void del(list *l)
{
 int k=0;
 int i,j;
 for(i=0;i<l->length;i++)
 {
  int flag=0;
  for(j=0;j<k;j++)
  {
   if(l->elem[i]==l->elem[j])
   {
    flag=1;
    break;
   }
  }
  if(flag==0)
  {
   l->elem[k]=l->elem[i];
   k++;
  }
 }
 l->length=k;
}
void print(list *l)
{
 int i;
 for(i=0;i<l->length;i++)
 {
  if(i==0)
   cout<<l->elem[i];
  else cout<<" "<<l->elem[i];
 }
}
int main()
{
 int t,n;
 list l;
 cin>>t;
 while(t--)
 {
  cin>>n;
  init(&l);
  creat(&l,n);
  del(&l);
  print(&l);
  cout<<endl;
 }
 return 0;
}
1 0