您的位置:首页 > 理论基础 > 数据结构算法

数据结构_顺序表

2014-09-29 23:07 274 查看
#include<stdio.h>

#include<stdlib.h>

#define maxSize 100

typedef struct 

{

  int data[maxSize];

  int length;

}SqList;

void InitList(SqList &L)

{

     L.length = 0;

}

int ListInsert(SqList &L, int p, int e)

{

    if(p<1|| p>L.length+1 || L.length==maxSize-1)

      return 0;

    for(int i=L.length; i>=p; ++i)

            L.data[i+1] = L.data[i];

    L.data[p] = e;

    ++L.length;

    return 1;

    

}

int ListDelete(SqList &L, int p, int &e)

{

    if(p<1||p>L.length||L.length==0)

       return 0;

    e = L.data[p];

    

    for(int i = p+1; i<=L.length; ++i)

       L.data[i-1] = L.data[i];

    --L.length;

    return 1;

}

void PrintList(SqList L)

{

     for(int i=1; i<L.length; ++i)

       printf("%d\n",L.data[i]);

}

int main(void)

{

    const int N=10;

    SqList L;

    int e;

    InitList(L);

    

    for(int i=0; i<N; ++i)

     {

            ListInsert(L,i+1,i+1);

     }

    PrintList(L);

    printf("the next line!\n");

     for(int i=N; i>=1; --i)

     {

            ListDelete(L,i,e);

     }

    PrintList(L);

    system("pause");

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息