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

我心飛翔

有事不慌,無事不荒,有容乃大,無欲則剛,以德立綱,外圓內(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.數(shù)制轉換:

將一個十進制轉換成八,十六進制數(shù)。

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

 #include"c1.h"

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

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

 

 /*void conversion()

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

   SqStack s;

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

   SElemType e;

   InitStack(s); // 初始化棧

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

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

   while(n) // n不等于0

   {

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

     n=n/16;

   }

   while(!StackEmpty(s)) // 當棧不空

   {

     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("請輸入表達式\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)) // 字符串結束時棧空

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

     else

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

   }

 }*/

 

void main()

{

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

       matching();

   //check();

}

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

評論

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

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲卡通欧美制服中文| 嫩模写真一区二区三区三州| 麻豆视频一区二区| 亚洲激情六月丁香| 欧美在线视频免费观看| 亚洲综合精品四区| 性亚洲最疯狂xxxx高清| 欧美一区二区精美| 久久久久成人精品免费播放动漫| 小辣椒精品导航| 久久久久网址| 欧美激情bt| 夜夜嗨av一区二区三区免费区| 亚洲国内精品在线| 亚洲午夜激情网页| 久久久国产成人精品| 久久久久久久久久久一区| 亚洲美女区一区| 亚洲在线国产日韩欧美| 香蕉久久夜色精品国产使用方法| 日韩一本二本av| 欧美在线视频观看| 亚洲国产高潮在线观看| 亚洲影院色无极综合| 麻豆av一区二区三区| 国产精品久久久久aaaa九色| 国内外成人免费激情在线视频网站 | 欧美成人久久| 欧美精品久久久久久久久久| 国产精品综合av一区二区国产馆| 国产一区二区三区黄视频| 亚洲国产日韩欧美在线动漫| 亚洲九九精品| 欧美不卡视频| 先锋影音久久久| 国产精品久久久久秋霞鲁丝| 亚洲美女av网站| 亚洲第一区在线观看| 欧美一区二区三区四区高清 | 欧美国产国产综合| 在线亚洲一区观看| 欧美日韩一区二区在线播放| 99伊人成综合| 亚洲午夜精品| 91久久久久久久久久久久久| 亚洲欧美国产77777| 欧美日韩在线免费视频| 999亚洲国产精| 亚洲美女色禁图| 国产精品久久久久久久电影| 亚洲欧美国产精品桃花| 亚洲网站在线| 亚洲动漫精品| 亚洲欧洲精品成人久久奇米网| 欧美激情第3页| 亚洲视频香蕉人妖| 午夜精品久久99蜜桃的功能介绍| 国产综合视频在线观看| 欧美激情一二三区| 欧美婷婷在线| 久久一区二区三区四区五区| 欧美gay视频| 久久精品盗摄| 欧美日本在线| 美国成人直播| 国产欧美一区二区精品仙草咪| 欧美承认网站| 一区福利视频| 午夜精品99久久免费| 亚洲黄色免费网站| 亚洲视频欧美视频| 亚洲福利小视频| 国产亚洲欧美一区在线观看| 亚洲承认在线| 国产欧美一区二区精品忘忧草| 欧美激情精品久久久久久免费印度 | 一区二区国产日产| 久久中文欧美| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲激情精品| 久久久av水蜜桃| 免费在线播放第一区高清av| 国产欧美成人| 欧美伊人久久| 久久一区激情| 亚洲电影免费| 欧美国产精品v| 999亚洲国产精| 亚洲综合三区| 国产日本欧美一区二区三区| 亚洲一区二区三区中文字幕在线| 亚洲性人人天天夜夜摸| 欧美性一二三区| 久久av最新网址| 亚洲精品一区二区三区四区高清| 日韩天堂在线观看| 国产亚洲欧洲| 欧美精品一卡二卡| 欧美一区二区在线免费播放| 老司机精品久久| 亚洲一区二区视频在线观看| 国产一区二区精品| 欧美日产在线观看| 欧美影视一区| 一本色道久久88综合亚洲精品ⅰ | 亚洲欧美视频在线观看| 美腿丝袜亚洲色图| 中文在线一区| 亚洲国产欧美精品| 欧美一区二区三区日韩视频| 欧美大片免费观看在线观看网站推荐| 亚洲精品欧美日韩| 一区二区在线看| 国产精品久久一级| 欧美日韩国产精品一区二区亚洲| 香蕉尹人综合在线观看| 欧美视频不卡中文| 噜噜噜久久亚洲精品国产品小说| 噜噜噜躁狠狠躁狠狠精品视频| 香蕉精品999视频一区二区| 日韩亚洲欧美成人| 一本色道久久综合精品竹菊| 亚洲韩国青草视频| 亚洲青色在线| 亚洲在线观看视频网站| 亚洲免费一在线| 欧美在线亚洲综合一区| 欧美在线视频免费播放| 久久久噜噜噜久久狠狠50岁| 久久精品人人做人人爽| 美女免费视频一区| 亚洲韩国日本中文字幕| 亚洲福利电影| 亚洲综合精品| 欧美高清视频www夜色资源网| 欧美国产精品人人做人人爱| 欧美日本一区二区三区| 国产精品一区一区三区| 狠狠狠色丁香婷婷综合久久五月| 亚洲国产精品成人| 亚洲影视综合| 欧美激情国产日韩精品一区18| 亚洲精品视频二区| 久久久精品国产免大香伊 | 性伦欧美刺激片在线观看| 另类尿喷潮videofree| 亚洲美女在线观看| 快she精品国产999| 国产在线精品一区二区夜色| 亚洲一区二区三区乱码aⅴ| 欧美高清在线一区二区| 久久国产加勒比精品无码| 国产精品播放| 亚洲性视频h| 亚洲图色在线| 亚洲日本va午夜在线影院| 亚洲免费在线精品一区| 国产精品啊啊啊| 亚洲欧美日韩综合一区| 9久re热视频在线精品| 欧美激情国产日韩| 夜夜嗨av一区二区三区免费区| 裸体一区二区三区| 麻豆成人在线播放| 一区二区三区久久网| av成人免费在线| 国产欧美亚洲精品| 欧美成人蜜桃| 国产精品高清免费在线观看| 午夜视频一区| 美女精品国产| 亚洲影视中文字幕| 午夜影院日韩| 国产精品色午夜在线观看| 9人人澡人人爽人人精品| 亚洲欧美影院| 久久美女艺术照精彩视频福利播放| 樱花yy私人影院亚洲| 亚洲国产精品第一区二区| 欧美人与性动交α欧美精品济南到| 亚洲图片欧美午夜| 久久久久99| 羞羞答答国产精品www一本 | 久久精品中文字幕免费mv| 久久午夜精品一区二区| 亚洲综合电影| 欧美精品日韩www.p站| 久久综合伊人77777尤物| 国产精品成人午夜| 亚洲精品一区二区三区蜜桃久 | 欧美视频免费在线观看| 欧美黑人国产人伦爽爽爽| 国产日韩一区二区三区| 亚洲精品裸体| 亚洲精品资源美女情侣酒店| 久久久一区二区三区| 欧美成人首页| 欧美一区二区三区男人的天堂| 亚洲欧美日韩国产综合| 国产精品欧美久久|