熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

第二部分 棧、隊列和數組[2]

2013-11-15 15:47:25  來源: 數據結構 

    基本操作
  ①初始化
  StatusInitStack(SqStack&S)
  {//構造一個空棧S
  Sbase=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
  if(!Sbase)exit(OVERFLOW);//分配失敗
  Stop=Sbase;
  Sstacksize=STACK_INIT_SIZE;
  returnOK;
  }

  ②入棧
  StatusPush(SqStack&SSElemTypee){
  if(StopSbase>=Sstacksize){
  //棧滿追加存儲空間
  Sbase=(SElemType*)realloc(Sbase
  (Sstacksize+STACKINCREMENT)*sizeof(SElemType));
  if(!Sbase)exit(OVERFLOW);
  //存儲分配失敗
  Stop=Sbase+Sstacksize;
  Sstacksize+=STACKINCREMENT;
  }
  *Stop++=e;
  returnOK;
  }

  ③出棧
  StatusPop(SqStack&SSElemType&e){
  //若棧不空則刪除S的棧頂元素
  //用e返回其值並返回OK
  //否則返回ERROR
  if(Stop==Sbase)returnERROR;
  e=*Stop;
  returnOK;
  }

    返回《數據結構》考研復習精編

[]  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23969.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.