| 1 #include "seq.h"
| 2
| 3 //申请空间
| 4 seq_create_seqlist()
| 5 {
| 6 seq_p S=(seq_p)malloc(sizeof(seq_list));
| 7 if(S=NULL)
| 8 {
| 9 return NULL;
| 10 }
| 11 bzero(S,sizeof(seq_list));
| 12 return S;
| 13 }
| 14
| 15 //判空
| 16 int empty_seq(seq_p S)
| 17 {
| 18 if(S==NULL)
| 19 {
| 20 printf("NULL\n");
| 21 return -2;
| 22 }
| 23 return S->len==0?1:0;
| 24 }
| 25
| 26 //判满
| 27 int full_seq(seq_p S)
| 28 {
| 29 if(S=NULL)
| 30 {
| 31 printf("NULL\n");
| 32 return -2;
| 33 }
| 34 return S->len==MAX?1:0;
| 35 }
| 36
| 37 //头插
| 38 void insert_head(seq_p S,int data)
| 39 {
| 40
| 41 if(S=NULL)
| 42 {
| 43 printf("NULL\n");
| 44 return -2;
| 45 }
| 46 for(int i=1;i<S->len;i++)
| 47 {
| 48 S->arr[i]=S->arr[i-1];
| 49 }
| 50 S->arr[0]=data;
| 51 S->len++;
| 52 return 0;
| 53 }
| 54
| 55 //尾差
| 56 void insert_tail(seq_p S,int data)
| 57 {
| 58 if(S==NULL)
| 59 {
| 60 printf("NULL\n");
| 61 return -2;
| 62 }
| 63
| 64 if(full_seq(S))
| 65 {
| 66 printf("full\n");
| 67 return -2;
| 68 }
| 69 S->arr[S->len]=data;
| 70 S->len++;
| 71 return 0;
| 72 }
| 73
| 74 //头删
| 75 int del_head(seq_p S)
| 76 {
| 77
| 78 if(S==NULL)
| 79 {
| 80 printf("NULL\n");
| 81 return -2;
| 82 }
| 83 if(empty_seq(S))
| 84 {
| 85 printf("empty\n");
| 86 return -2;
| 87 }
| 88
| 89 for(i=0;i<len-1;i++)
| 90 {
| 91 S->arr[i]=S->arr[i+1];
| 92 }
| 93 S->len--;
| 94 return 0;
| 95 }
| 96
| 97 //尾删
| 98 int del_tail(seq_p S)
| 99 {
|100 if(S==NULL)
|101 {
|102 printf("NULL\n");
|103 return -2;
|104 }
|105
|106 if(empty_seq(S))
|107 {
|108 printf("empty\n");
|109 return -2;
|110 }
|111 S->len--;
|112 return 0;
|113 }