1. 程式人生 > >蘇嵌學習日誌day2

蘇嵌學習日誌day2

name:錢成傑 date:2018.9.11 今日學習任務 初步瞭解資料結構,棧中存放的是陣列,進出的順序是:先進後出 線性結構的儲存方式:1.順序儲存(連續)2.鏈式儲存(不連續) 分別編寫的程式是(1).初始化棧(2).進棧(3).出棧(4).判斷棧是否空 (5).存取棧頂元素 (6).空棧 今日任務完成情況 上課能跟上老師教學進度,完成程式的編寫。在程式設計的過程中出現了一些符號的遺漏,總的完成還可以。 今日開發中出現的問題彙總 跟著老師學習編簡單的程式,還是有一些程式出現問題,對於陣列的儲存也有了一些瞭解,學會了標頭檔案的建立,檔案的儲存等,如:檔案的儲存命令ESC鍵->shift+; (:)->w+回車 所有檔案的編譯:gcc *c -o main 標頭檔案的初始化:#include”ifndef stack_h” #include”define stack_h” #endif 標頭檔案的第一句是為了防止同一個C檔案中包含同一個標頭檔案 預處理:處理#出現的程式碼 今日未解決問題

對於陣列的進棧與出棧相關的程式編寫仍有困難 今日開發收穫 初步瞭解了陣列的(1).初始化棧(2).進棧(3).出棧(4).判斷棧是否空 (5).存取棧頂元素 (6).空棧等相關程式的程式設計 自我評價 課後需要多加鞏固,再把相關的程式設計看看,寫一寫。 課堂訓練: Stack.h include”ifndef stack_h” include”define stack_h” define MAXSIZE 10 define SUCCESS 1000 define FAILURE 1001 Struct stack { Int data[MAXSIZE]; Int top; } Typedef struct stack S endif } Main.c
include “stdio.h include “stack.h” int main() { S stack; int ret,i;

ret =InitStack(&stack);

if(SUCCESS == ret) {

 printf("Init Success!\n");
 }
 else
 {
 printf("Init Failure!\n");
 }

for(i=0;i<5;i++) { ret = push(&stack,i+1); if(SUCCESS == ret) { printf(“push %d success!\n”,i+1); } else { printf(“push failure!\n”); } }

for(i=0;i<3;i++) { ret =pop(&stack); if(ret==FAILURE) {printf(“pop failure!\n”); } else {printf(“pop %d success!\n”,ret); } }

 ret =Emptystack(stack);
 if(ret==SUCESS)
 {printf("stack is empty!\n");
 }
 else
 {
     printf("stack is empty!\n");
    }

ret =GetTop(stack);
if(ret == FAILURE)
{
printf("Get Top Failure!\n");
}
else
{
  printf("Top %d\n",ret);
  }
    return 0;

}

Stack.c include”stack.h” include”stdlib.h” int InitStack(S *s) { if(NULL== s) { return FAILURE; }

 s->top = -1;

 return  SUCCESS;

} int push(S *s,int e) {if(NULL==s) {return FAILURE; } if(s->top==MAXSIZE-1); {return FAILURE; } s->data[s->top+1]=e; s->top++; return SUCCESS; } int pop(S *s)

{ if(NULL==0) return FAILURE; } if(-1==s->top) {return FAILURE;

} int e=s->data[s->top]; { s->top- -; return 0; } int EmptyStack(S ,s) { return(s,top== -1)?SUCCESS :FAILURE; }

int Get Top(S,s)
{
   if(s,top==-1);

     return FAILURE;
     }
    return s,data[s,top];
    }