제 39 무슨 좋은 머리를 모르는 보 보내

며칠이 좋은 펀치를 느끼지 않았다 어떻게, 손은 나에게 익숙하지 않은 .....

  1 #INCLUDE <STDIO.H>
   2 #INCLUDE <stdlib.h>
   3 의 typedef 구조체 노드 {
   4      INT의 데이터;
  5      구조체 노드 * 다음;
  6  } SLIST;
  7  
  8 SLIST * creatfront (SLIST의 *의 L, int로 [η], INT의 N)를
   9 {     int로 난을;
10      SLIST * S;
11       (I = 0 ; I <N은, 내가 ++ )
 12      {
 13          (S)의 = (SLIST *) 의 malloc ( sizeof 연산자 (SLIST));
14          S-> 데이터 = A [I];
15          S-> 다음 = L-> 다음;
16          L-> 다음 = S;
17      }
 18      리턴 L;
19  }
 20  
21  공극 creatlater (SLIST의 *의 L, int로 [η], INT의 N)
 22  {
 23      SLIST *는 p = L * S;
24      int로 난을;
25       (I = 0 ; I <N은, 내가 ++ )
 26      {
 27          (S)의 = (SLIST *) 의 malloc ( sizeof 연산자(SLIST));
28          S-> 데이터 = A [I];
29          S-> 다음 = P-> 다음;
30          P-> 다음 = S;
(31)          P = 용의 S;    
32      }
 33  }
 34  
35  공극 인서트 (SLIST의 *의 L, int로 I, INT (X))
 36  {
 37      의 INT J = 0 ;
38      SLIST * p = L * S;
39      동안 (! p = NULL && J <Ⅰ- 1 )
 40      {
 41          J ++ ;
(42)         p = P -> 다음;
43      }
 44      S의 = (SLIST의 *) 의 malloc ( sizeof 연산자 (SLIST));
45      S->의 데이터 = X;
46      S-> 다음 = P-> 다음;
47      P-> 다음 = S; 
48  }
 49  
50  INT의   delet (SLIST의 *의 L, INT의 X, 값 int i)가
 51  {
 52      의 INT J = 0 ;
53      SLIST의 *의 P;
54      동안 (L! = NULL && J < I)
 55      {
 56         J ++ ;
(57)          L = L-> 다음;
(58)      }
 (59)      의 경우 (L == NULL)
 60      리턴 I;
61      다른 
62      {
 63          p = L-> 다음;
64          L-> 다음 = P-> 다음;
(65)          자유 (p);
66      }
 67           1 ;        
68  }
 69  
70  INT의 길이 (SLIST의 *의 L)
 71  {
 72      INT N;
73      동안(! L = NULL)
 74      {
 75          N ++ ;
76          L = L-> 다음;
77      }
 78          반환 N;
79  }
 80  
81  공극이 (SLIST의 *의 파괴 L)
 82  {
 83      SLIST 사전 * = L * p = L-> 다음;
84      반면 (p! = NULL)
 85      {
 86          프리 (예비);
(87)          미리 = P;
88          p = P -> 다음;
89      }
 90          무료(전);
91  }
 92  
93  공극 인쇄 (SLIST의 *의 L)
 94  {
 95      SLIST * p = L;
96      반면 (p! = NULL)
 97      {
 98          는 scanf ( " %의 D " , P-> 데이터);
99          p = P -> 다음;
100      }
 101  }
 102  
103  의 INT findlocation (SLIST의 *의 L, INT (X), INT * E)
 (104)  {
 105      INT I, J;
(106)     SLIST * p = L;
107      동안 (P-> 다음! = NULL)
 (108)      {
 109          p = P -> 다음;
110          내가 ++ ;    
(111)      }
 (112)      의 경우 (P-> 데이터 == X)
 (113)      {
 114          * E = I;
115          E ++ ;
116          J ++ ;
117      }
 118          복귀 J;
119          
120 }

 

추천

출처www.cnblogs.com/shi-yuan/p/10941497.html