青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我心飛翔

有事不慌,無事不荒,有容乃大,無欲則剛,以德立綱,外圓內(nèi)方。

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  1 隨筆 :: 9 文章 :: 13 評論 :: 0 Trackbacks

 

 

 

以下是棧的一些基本操作:

#define STACK_INIT_SIZE 10

#define STACKINCREMENT 2

typedef struct

{

  SElemType *base;

  SElemType *top;

  int stacksize;

} Sqstack;

 

int InitStack(Sqstack &S)

{

  if(!(S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType))))

         exit(OVERFLOW);

  S.top=S.base;

  S.stacksize=STACK_INIT_SIZE;

  return OK;

}

 

int DestroyStack(Sqstack &S)

{

  free(S.base);

  S.base=NULL;

  S.top=NULL;

  S.stacksize=0;

  return OK;

}

 

int ClearStack(Sqstack &S)

{

  S.top=S.base;

  return OK;

}

 

int StackEmpty(Sqstack S)

{

  if(S.top==S.base)

  return TRUE;

  else

  return FALSE;

}

 

int StackLength(Sqstack S)

{

  return S.top-S.base;

}

 

int GetTop(Sqstack S,SElemType &e)

{

  if(S.top>S.base)

  {

    e=*(S.top-1);

    return OK;

  }

  else

  return ERROR;

}

 

int Push(Sqstack &S,SElemType e)

{

  if(S.top-S.base>=S.stacksize)

  {

    S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));

    if(!S.base)

    exit(OVERFLOW);

    S.top=S.base+S.stacksize;

    S.stacksize+=STACKINCREMENT;

  }

  *(S.top)++=e;

  return OK;

}

 

int Pop(Sqstack &S,SElemType &e)

{

  if(S.top==S.base)

  return FALSE;

  e=*--S.top;

  return OK;

}

 

int StackTraverse(Sqstack &S,SElemType (*visit)(SElemType))

{

  while(S.top>S.base)

    visit(*S.base++);

    return OK;

}

 

 

 

 

 

 

 

 

1.?dāng)?shù)制轉(zhuǎn)換:

將一個十進(jìn)制轉(zhuǎn)換成八,十六進(jìn)制數(shù)。

typedef int SElemType; // 定義棧元素類型為整型

 #include"c1.h"

 //#include"c3-1.h" // 采用順序棧

 #include"c2.cpp" // 利用順序棧的基本操作

 

 /*void conversion()

 { // 對于輸入的任意一個非負(fù)10進(jìn)制整數(shù),打印輸出與其等值的16進(jìn)制數(shù)

   SqStack s;

   unsigned n; // 非負(fù)整數(shù)

   SElemType e;

   InitStack(s); // 初始化棧

   printf("n(>=0)=");

   scanf("%u",&n); // 輸入非負(fù)十進(jìn)制整數(shù)n

   while(n) // 當(dāng)n不等于0

   {

     Push(s,n%16); // 入棧n除以16的余數(shù)(16進(jìn)制的低位)

     n=n/16;

   }

   while(!StackEmpty(s)) // 當(dāng)棧不空

   {

     Pop(s,e); // 彈出棧頂元素且賦值給e

     if(e<=9)

       printf("%d",e);

     else

       printf("%c",e+55);

   }

   printf("\n");

 }*/

 

 void conversion()

{

  Sqstack S;

  unsigned N;

  SElemType e;

  InitStack(S);

  scanf("%u",&N);

  while(N)

  {

    Push(S,N%8);

    N=N/8;

  }

  while(!StackEmpty(S))

  {

    Pop(S,e);

    printf("%d",e);

  }

}

 

 void main()

 {

   conversion();

 }

 

 

 

 

2.括號配對的檢驗:

typedef char SElemType;

#include"c1.h"

#include"c2.cpp"

 

void matching()

{

  Sqstack S;

  InitStack(S);

  char *p,a[100],e;

  int state;

  printf("請輸入一組符號(僅只能含有三種{},(),[]):");

  gets(a);

  p=a;

  state=1;

  while(*p && state)

  {

         if(!(*p=='{' || *p=='}' || *p=='[' || *p==']' || *p=='(' || *p==')'))

         {

                printf("輸入不正確!");

                exit(ERROR);

         }

    switch (*p)

       {

       case '(':

          case '{':

       case '[':{

          Push(S,*p++);

             break;

                            }

       case ')':{

                GetTop(S,e);

          if(!StackEmpty(S) && e=='(')

                {

               Pop(S,e);

                     p++;

                }

               else

                   state=0;

             break;

                            }

       case ']':{

                 GetTop(S,e);

          if(!StackEmpty(S) && e=='[')

                {

                Pop(S,e);

                   p++;

                }

             else

                state=0;

            break;

                            }

                 case '}':{

                 GetTop(S,e);

          if(!StackEmpty(S) && e=='{')

                {

                Pop(S,e);

                   p++;

                }

             else

                state=0;

            break;

                            }

       }

   

  }

  if(StackEmpty(S) && state)

         printf("輸入的括號相符合!");

  else

        printf("輸入的括號不符合!");

}

 

/*void check()

 { // 對于輸入的任意一個字符串,檢驗括號是否配對

   Sqstack s;

   SElemType ch[80],*p,e;

   if(InitStack(s)) // 初始化棧成功

   {

     printf("請輸入表達(dá)式\n");

     gets(ch);

     p=ch;

     while(*p) // 沒到串尾

       switch(*p)

       {

         case '(':

         case '[':Push(s,*p++);

                  break; // 左括號入棧,且p++

         case ')':

         case ']':if(!StackEmpty(s)) // 棧不空

                  {

                    Pop(s,e); // 彈出棧頂元素

                    if(*p==')'&&e!='('||*p==']'&&e!='[') // 彈出的棧頂元素與*p不配對

                    {

                      printf("左右括號不配對\n");

                      exit(ERROR);

                    }

                    else

                    {

                      p++;

                      break; // 跳出switch語句

                    }

                  }

                  else // 棧空

                  {

                    printf("缺乏左括號\n");

                    exit(ERROR);

                  }

         default: p++; // 其它字符不處理,指針向后移

       }

     if(StackEmpty(s)) // 字符串結(jié)束時棧空

       printf("括號匹配\n");

     else

       printf("缺乏右括號\n");

   }

 }*/

 

void main()

{

       //char a[]={[(]])]};

       matching();

   //check();

}

posted on 2005-10-14 00:05 無情雨 閱讀(1686) 評論(2)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)

評論

# re: 棧的實現(xiàn)與表示,以及數(shù)制轉(zhuǎn)換,符號配對的問題 [未登錄] 2008-10-05 10:58 初學(xué)者
符號配對的問題 “缺乏左括號的部分”若缺乏左括號,輸出時輸出兩個語句“缺乏左括號”和“括號匹配”,請解決……  回復(fù)  更多評論
  

# re: 棧的實現(xiàn)與表示,以及數(shù)制轉(zhuǎn)換,符號配對的問題 2013-11-15 10:09
這個代碼的運行環(huán)境是哪個呀,我在visual c++里面有莫多錯誤,求解???  回復(fù)  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区视频在线看| 久久精品人人做人人爽| 日韩系列在线| 欧美伦理91| 一本色道久久加勒比精品| 亚洲精品一区二区三区蜜桃久| 欧美国产一区视频在线观看| 中文精品99久久国产香蕉| 国产精品99久久久久久宅男| 国产精品午夜在线| 久久久久久久久伊人| 久久久久天天天天| 亚洲理论在线观看| 亚洲一区二区三区777| 国产亚洲一区二区三区在线观看 | 欧美日韩免费观看中文| 亚洲一级免费视频| 午夜精品理论片| 亚洲第一精品夜夜躁人人爽| 亚洲精品欧美| 国产精品亚洲аv天堂网| 久久精品在这里| 欧美激情第1页| 欧美伊人久久久久久久久影院| 久久久久国产精品人| 99精品99| 久久aⅴ国产欧美74aaa| av成人免费观看| 性色一区二区三区| 99热精品在线| 久久福利一区| 亚洲一区二区三区在线播放| 久久午夜电影| 欧美一区二区三区日韩| 欧美激情免费观看| 久久久久久午夜| 欧美午夜理伦三级在线观看| 久久久欧美精品sm网站| 欧美午夜无遮挡| 亚洲国产成人高清精品| 国产精品美女www爽爽爽| 亚洲国产美女精品久久久久∴| 国产精品夜夜夜| 日韩视频在线你懂得| 亚洲成人在线视频播放| 性视频1819p久久| 亚洲视频一二区| 欧美精品色网| 欧美成人一区在线| 国产中文一区二区| 亚洲欧美日韩在线观看a三区| 99综合电影在线视频| 另类激情亚洲| 久久久中精品2020中文| 国产精品主播| 亚洲一区二区3| 亚洲一区欧美二区| 欧美日韩国产91| 亚洲精品一区在线| 一本久久知道综合久久| 欧美精品日韩www.p站| 欧美国产视频在线| 在线看无码的免费网站| 久久九九精品| 欧美高清视频一区| 欧美日韩在线精品| 欧美一区二区三区四区视频| 欧美精品乱码久久久久久按摩| 欧美国产亚洲视频| 亚洲欧洲一区二区三区| 免费久久99精品国产| 亚洲第一精品夜夜躁人人爽| 在线国产欧美| 免费人成网站在线观看欧美高清 | 这里只有精品视频在线| 欧美精品手机在线| 亚洲精品社区| 亚洲综合丁香| 国产三级欧美三级| 久久精品卡一| 欧美高清在线视频| 99国内精品久久| 国产精品久久久久久五月尺| 香蕉精品999视频一区二区| 久久久久久久综合狠狠综合| 一区免费视频| 欧美成人午夜激情在线| 99热免费精品| 久久精品免视看| 亚洲国产精品一区| 欧美日韩精品二区第二页| 亚洲午夜影视影院在线观看| 久久欧美肥婆一二区| 亚洲日本久久| 国产精品乱码人人做人人爱| 久久精品毛片| 亚洲免费观看高清完整版在线观看| 亚洲欧美日韩专区| 在线播放视频一区| 欧美日韩一区二区三区在线观看免| 亚洲制服av| 亚洲高清av在线| 欧美一级大片在线观看| 激情综合久久| 国产精品多人| 久久久蜜桃精品| 中国女人久久久| 蜜臀va亚洲va欧美va天堂| 亚洲少妇最新在线视频| 黑人操亚洲美女惩罚| 欧美日韩综合网| 久久尤物视频| 午夜免费日韩视频| 亚洲欧洲精品一区二区精品久久久| 欧美有码视频| 一区二区久久久久久| 亚洲电影免费观看高清完整版在线 | 国产精品你懂的在线| 男女视频一区二区| 午夜精品久久久久| 亚洲美女在线看| 蜜臀av国产精品久久久久| 欧美亚洲一区三区| 亚洲午夜激情| 亚洲人体大胆视频| 一区二区在线不卡| 国产嫩草影院久久久久| 欧美日韩一区二区三区四区在线观看 | 国产在线高清精品| 亚洲国产日韩欧美| 国产无一区二区| 欧美日韩久久久久久| 老司机凹凸av亚洲导航| 久久成人精品无人区| 亚洲欧美日韩精品久久| 亚洲一级黄色| 亚洲午夜精品| 亚洲视频免费在线| 99精品视频免费| 在线视频亚洲欧美| 日韩小视频在线观看专区| 亚洲人线精品午夜| 亚洲精品四区| 亚洲免费久久| 亚洲精品免费在线播放| 亚洲精品亚洲人成人网| 亚洲国产婷婷| 亚洲激情欧美| 亚洲人成精品久久久久| 亚洲人被黑人高潮完整版| 亚洲人人精品| 国产精品99久久久久久久vr| 亚洲视频在线一区| 午夜久久一区| 久久精品亚洲一区二区| 久久久噜噜噜| 欧美精品久久99久久在免费线| 欧美精品二区三区四区免费看视频| 欧美紧缚bdsm在线视频| 国产精品福利久久久| 国产精品入口福利| 国产一区二区无遮挡| 亚洲电影网站| 99国产精品久久久| 午夜天堂精品久久久久| 久久久久国产精品一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲欧美福利一区二区| 久久精品毛片| 亚洲人久久久| 午夜欧美不卡精品aaaaa| 久久视频一区| 欧美视频在线免费| 国产亚洲高清视频| 亚洲国产婷婷| 亚洲欧美国产高清| 欧美aⅴ一区二区三区视频| 亚洲欧洲美洲综合色网| 亚洲欧美国内爽妇网| 免费人成网站在线观看欧美高清| 欧美性淫爽ww久久久久无| 精品不卡在线| 亚洲伊人网站| 欧美成人一区二区在线| 亚洲一区二区三区中文字幕在线| 乱码第一页成人| 国产精品亚发布| 99re亚洲国产精品| 久久久噜噜噜久久中文字免| 亚洲欧洲日本国产| 久久久久综合| 国产精品日韩欧美一区| 亚洲美女少妇无套啪啪呻吟| 久久国产精品毛片| 日韩视频一区二区三区在线播放免费观看 | 亚洲私人影院在线观看| 欧美91大片| 久久精品夜色噜噜亚洲a∨| 欧美午夜国产| 日韩亚洲成人av在线|