linux编程之线性表

  1 #include"stdio.h"
  2 #define MAX  100
  3 typedef struct List{
  4    int length;
  5    int num[MAX];
  6 }List_sequence;
  7 
  8 //buid new List_sequence
  9 int List_build(List_sequence *L,int num)
 10         {
 11            int i=0;
 12            i=num;
 13            L->length=0;
 14            for(;num>=0;num--)
 15            {
 16                   L->num[num]=num;
 17                   ++L->length;
 18                   printf("num=%d\n",num);
 19                 }
 20         return 0;
 21         }
 22 //insert data at somewhere
 23 int List_insert(List_sequence *L,int num_,int data)
 24         {
 25            int j=0;
 26            int i=num_;
 27 
 28            if(num_<0||num_>=L->length)
 29                 {
 30                    printf("error \n");
 31                 }
 32            for(j=L->length;j>=num_;j--)
 33                 {
 34                    L->num[j+1]=L->num[j];
 35                 }
 36                 L->num[num_]=data;
 37                 ++L->length;
 38            printf("position:%d\n data:%d\n length:%d \n",num_,L->num[num_],L->length);
 39            return 0;
 40 
 41         }
 42 //delete data at somewhere
 43 int List_delete(List_sequence *L,int num)
 44         {
 45           if(num<0||num>L->length)
 46             {
 47                 printf("num error\n");
 48             }
 49           int i=0;
 50           i=num-1;
 51           for(;i<L->length;i++)
 52             {
 53                 L->num[i]=L->num[i+1];
 54             }
 55          --L->length;
 56           return 0;
 57         }
 58 int List_ergodic(List_sequence *L)
 59         {
 60           int i=0;
 61             for(i=0;i<L->length;i++)
 62               {
 63                 printf("position:%d\n data:%d\n",i,L->num[i]);
 64               }
 65           return 0;
 66         }
 67 int main(int argc,char **argv)
 68         {
 69            List_sequence *L;
 70            L=(List_sequence *)malloc(sizeof(List_sequence));
 71            List_build(L,70);
 72            List_insert(L,46,234);
 73            List_ergodic(L);
 74            List_delete(L,50);
 75            List_ergodic(L);
 76            return 0;
 77         }

 

posted on 2016-08-10 15:53  FREEH  阅读(244)  评论(0编辑  收藏  举报