3324顺序表应用1:多余元素删除之移位算法

来源:互联网 发布:apple care mac 怎么买 编辑:程序博客网 时间:2024/06/01 09:44

3324顺序表应用1:多余元素删除之移位算法

#include<iostream>#include<cstdlib>#define MAX 101#define OVERFLOW -1using namespace std;typedef struct{    int *elem;    int listlen;    int listsize;}list;void CreatList (list &l,int n){    l.elem=new int [MAX];    if(!l.elem)    exit(OVERFLOW);    l.listlen=0;    l.listsize=MAX;    for (int i=0;i<n;i++)    {        cin>>l.elem[i];        l.listlen++;    }}void DeleteList(list &l){    int i,q,p,j;    p=0;    q=l.listlen;    while(p<q)    {        for(i=p+1;i<q;i++)        {            if(l.elem[i]==l.elem[p])            {                for(j=i;j<q;j++)                l.elem[j]=l.elem[j+1];                l.listlen--;                q--;i--;            }        }        p++;    }}int main(){    int n,t,i;    cin>>t;    while(t--)    {        cin>>n;    list newlist;    CreatList(newlist,n);    DeleteList(newlist);    for(i=0;i<newlist.listlen;i++)    {        if(i!=newlist.listlen-1)        cout<<newlist.elem[i]<<" ";        else cout<<newlist.elem[i]<<endl;    }    }    return 0;}
0 0
原创粉丝点击