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

来源:互联网 发布:tensorflow python2.7 编辑:程序博客网 时间:2024/05/21 10:52
#include <iostream>#include<stdio.h>#include<stdlib.h>#define max 10011using namespace std;typedef int Elemtype;typedef struct{    Elemtype *elem;    Elemtype length;}Sqlist;void initlist(Sqlist &L){    L.elem=(Elemtype*)malloc(max*sizeof(Elemtype));    L.length=0;}void list_insert(Sqlist &L, int m){    int i;    for(i=0; i<m; i++)    {        cin>>L.elem[i];        L.length++;    }}void list_delete(Sqlist &L){    int i, j, k;    for(i=0; i<L.length-1; i++)    {        for(j=i+1; j<L.length;)        {            if(L.elem[i]!=L.elem[j])            {                j++;            }            else            {                for(k=j; k<L.length; k++)//运行完j不加一,删除连续相同的数                {                    L.elem[k] = L.elem[k+1];                }                L.length--;            }        }    }}int main(){    int n, m;    cin>>n;    while(n--)    {        cin>>m;        Sqlist L;        initlist(L);        list_insert(L, m);        list_delete(L);        int i;        for(i=0; i<L.length; i++)        {            printf("%d%c", L.elem[i], i==L.length-1? '\n': ' ');        }    }    return 0;}
阅读全文
1 0