[]データ構造および線形テーブルを操作するアルゴリズム(C言語)

1の#include <stdio.hの>
 2の#include <STDLIB.H>
 3  の#define。OK 1
 。4  の#define NO 0
 。5  の#define MAXSIZE 20は、
 6。のtypedef int型 BOOL ;
 7  INT NN = 0 ;
 8  
。9のtypedef 構造体
10  {
 11      INT データ[MAXSIZE];
 12である     INT LEN、
 13である } Sqlist;
 14  空隙 initList(Sqlist * 1)   /// 送信ノードアドレスを、どのように初期リスト
15  {
 16     L-> LEN = 0 17  }
 18  INT findElem(Sqlist L、int型N)
 19  {
 20      のint E。
21      であれば(N> L.len)
 22          リターン 0 23      リターン L.data [N - 1 ]。
24  }
 25  ブール listInsert(Sqlist * 1、int型のn、int型データ)
 26  {
 27      INT I。
28      であれば(L-> LEN == MAXSIZE || N> L-> LEN + 1 29         リターン 0 ;
30  
31  
32      用の(I = L->でlen + 1 ; I> = N; i-- 33      {
 34          であれば(L-> LEN == MAXSIZE - 1 35              ブレーク36          L->データ[I] = L->データ[I - 1 ]。
37      }
 38      L->データ[N - 1 ] = ++ NN。
39      L-> LEN ++ ;
40      リターン 1 41  }
 42  ブール listDelete(Sqlist * L、INT nは、INT* E)
 43  {
 44      INT I。
45      であれば(L-> LEN == 0 46          リターン 0 47      のための(I = N - 1 ; I <= MAXSIZE - 1 ; I ++ 48      {
 49          であれば(I == MAXSIZE - 1 50              ブレーク51          L->データ[I] = L->データ[I + 1 ]。
52      }
 53      L-> len-- 54      リターン 1 55  
56 }
 57であり、 
58  空隙ShowList(SqlistのL)
 59  {
 60      INTは、I
 61である     ため(I = 0 Iは++; IはL.lenを< {)
 62である          のprintf(" %d個の\ N- " 、L.data [I]);
 63れます     }
 64  }
 65  空隙main222()
 66  {
 67      Sqlist L;
 68      initList(&L);    /// これはリンクされたリストのノードの初期化を置く方法は?
69      INT I;
 70      int型のTEMP;
 71である     ため = I(1。; 私は= < 5私は++ 72      {
 73を         場合(!listInsert(&L、I、I))
 74              のprintf(" なし" );
75      }
 76  
77      showList(L)。
78  
79 }

 

おすすめ

転載: www.cnblogs.com/dream-to-pku/p/11422934.html