1. 程式人生 > >SWUST OJ(955)

SWUST OJ(955)

部分 定義 class con bsp ont error 節點 void

單鏈表上查找算法的實現

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 typedef struct LinkNode //單鏈表節點結構的定義
 5 {
 6     int data;
 7     struct LinkNode *next;
 8 }LinkNode;
 9 
10 void InitLinkList(LinkNode * &L)
11 {
12     /*單鏈表的初始化*/
13     L = (LinkNode*)malloc(sizeof(LinkNode));
14 L->next = NULL; 15 } 16 17 void CreateLinkList(LinkNode *&L, int n,int *num) 18 { 19 /*采用尾插法創建單鏈表*/ 20 LinkNode* r = L; 21 for (int i = 0; i < n; ++i) 22 { 23 LinkNode * p =(LinkNode*)malloc(sizeof(LinkNode)); 24 p->data = num[i]; 25 p->next = r->next;
26 r->next = p; 27 r = p; 28 } 29 } 30 31 32 int main(int argc, char const *argv[]) 33 { 34 /*int n = 5; 35 int num[]={1,2,3,4,5};*/ 36 int n, p; 37 int *num; 38 39 scanf("%d",&n); 40 num =(int*)malloc(n*sizeof(int)); 41 42 for (int
i = 0; i < n; ++i) 43 { 44 scanf("%d",&num[i]); 45 } 46 47 scanf("%d",&p); 48 49 LinkNode *L; 50 InitLinkList(L); 51 CreateLinkList(L,n,num); 52 53 if (p>0&&p<n) 54 { 55 printf("ok"); 56 } 57 else 58 { 59 printf("error"); 60 } 61 62 return 0; 63 }

註:實際上對於這道題,代碼中好多部分都是多余的,親測下面的代碼也能AC

 1 #include<stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int n,p;
 6     int *num;
 7     scanf("%d",&n);
 8     num =(int*)malloc(n*sizeof(int));
 9     for (int i = 0; i < n; ++i)
10     {
11         scanf("%d",&num[i]);
12     }
13     scanf("%d",&p);
14     if (p<n&&n>0)
15     {
16         printf("ok");
17     }
18     else
19     {
20         printf("error");
21     }
22     return 0;
23 } 

SWUST OJ(955)