• 顺序表【数据结构-朱战立】


      1 #include <stdio.h>
      2 #define MaxSzie 100
      3 
      4 typedef int DataType;
      5 typedef struct
      6 {
      7     DataType list[MaxSzie];
      8     int size;
      9 }SeqList;
     10 
     11 void ListInit(SeqList *L)
     12 {
     13     L->size = 0;
     14 }
     15 
     16 int ListLength(SeqList L)
     17 {
     18     return L.size;
     19 }
     20 
     21 int ListInsert(SeqList *L, int i, DataType x)
     22 {
     23     int j=0;
     24 
     25     if (i>=MaxSzie)
     26     {
     27         printf("error!");
     28         return 0;
     29     }
     30     else if (i<0||i>L->size)
     31     {
     32         printf("error!");
     33         return 0;
     34     }
     35     else
     36     {
     37         while (j<i)
     38         {
     39             j++;
     40         }
     41         if (j!=i)
     42         {
     43             printf("error!");
     44             return 0;
     45         }
     46         else
     47         {
     48             for ( j; j < L->size; j++)
     49             {
     50                 L->list[j + 1] = L->list[j];
     51             }
     52             L->list[j] = x;
     53             L->size++;
     54             return 1;
     55         }
     56     }
     57 }
     58 
     59 int ListDelete(SeqList *L, int i, DataType *x)
     60 {
     61     int j = 0;
     62 
     63     if (i>=MaxSzie)
     64     {
     65         printf("error!");
     66         return 0;
     67     }
     68     else if (i<0 || i>L->size)
     69     {
     70         printf("error!");
     71         return 0;
     72     }
     73     else
     74     {
     75         while (j < i)
     76         {
     77             j++;
     78         }
     79         if (j != i)
     80         {
     81             printf("error!");
     82             return 0;
     83         }
     84         else
     85         {
     86             *x = L->list[j];
     87             for (j; j < L->size; j++)
     88             {
     89                 L->list[j] = L->list[j + 1];
     90             }
     91             L->size--;
     92             return 1;
     93         }
     94     }
     95 }
     96 
     97 int ListGet(SeqList *L, int i, DataType *x)
     98 {
     99     if (i<0||i>L->size-1)
    100     {
    101         printf("error!");
    102         return 0;
    103     }
    104     else
    105     {
    106         *x = L->list[i];
    107         return 1;
    108     }
    109 }
    110 //主函数
    111 int main()
    112 {
    113     SeqList mylist;
    114     int i, j,x;
    115 
    116     ListInit(&mylist);
    117     for ( i = 0; i < 10; i++)
    118     {
    119         if (ListInsert(&mylist, i, i + 1)==0)
    120         {
    121             printf("error!");
    122         }
    123     }
    124     if (ListDelete(&mylist,4,&x)==0)
    125     {
    126         printf("error!");
    127 
    128     }
    129     else
    130     {
    131         printf("Delete Number>>>%d
    ", x);
    132     }
    133     for ( j = 0; j <ListLength(mylist); j++)
    134     {
    135         if (ListGet(&mylist,j,&x)==0)
    136         {
    137             printf("error!");
    138         }
    139         else
    140         {
    141             printf("%d    ",x);
    142         }
    143     }
    144     getchar();
    145     return 0;
    146 }
  • 相关阅读:
    win10 uwp 如何判断一个对象被移除
    win10 uwp 如何判断一个对象被移除
    上传代码 CodePlex
    上传代码 CodePlex
    如何使用 Q#
    让 AE 输出 MPEG
    让 AE 输出 MPEG
    解决 vs 出现Error MC3000 给定编码中的字符无效
    解决 vs 出现Error MC3000 给定编码中的字符无效
    PHP date_date_set() 函数
  • 原文地址:https://www.cnblogs.com/leime/p/9477810.html
Copyright © 2020-2023  润新知