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

我心飛翔

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

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  1 隨筆 :: 9 文章 :: 13 評(píng)論 :: 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)換:

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

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

 #include"c1.h"

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

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

 

 /*void conversion()

 { // 對(duì)于輸入的任意一個(gè)非負(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.括號(hào)配對(duì)的檢驗(yàn):

typedef char SElemType;

#include"c1.h"

#include"c2.cpp"

 

void matching()

{

  Sqstack S;

  InitStack(S);

  char *p,a[100],e;

  int state;

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

  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("輸入的括號(hào)相符合!");

  else

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

}

 

/*void check()

 { // 對(duì)于輸入的任意一個(gè)字符串,檢驗(yàn)括號(hào)是否配對(duì)

   Sqstack s;

   SElemType ch[80],*p,e;

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

   {

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

     gets(ch);

     p=ch;

     while(*p) // 沒到串尾

       switch(*p)

       {

         case '(':

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

                  break; // 左括號(hào)入棧,且p++

         case ')':

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

                  {

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

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

                    {

                      printf("左右括號(hào)不配對(duì)\n");

                      exit(ERROR);

                    }

                    else

                    {

                      p++;

                      break; // 跳出switch語句

                    }

                  }

                  else // ???/SPAN>

                  {

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

                    exit(ERROR);

                  }

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

       }

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

       printf("括號(hào)匹配\n");

     else

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

   }

 }*/

 

void main()

{

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

       matching();

   //check();

}

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

評(píng)論

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

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美欧美全黄| 一本色道久久综合一区| 亚洲国产精品久久久久| 免费在线观看一区二区| 亚洲伦理中文字幕| 欧美亚洲尤物久久| 永久久久久久| 欧美日韩亚洲高清| 先锋影音一区二区三区| 欧美成人中文字幕| 亚洲在线观看视频网站| 国产一区二区精品| 欧美国产精品中文字幕| 亚洲香蕉网站| 欧美激情精品久久久久久大尺度| 一区二区三区福利| 国产一区二区三区四区三区四 | 久久精品日产第一区二区| 欧美护士18xxxxhd| 亚洲影院免费| 在线观看91精品国产入口| 欧美日韩成人一区二区| 久久成人羞羞网站| 日韩一级免费观看| 老司机精品视频网站| 亚洲午夜久久久久久尤物| 狠狠色噜噜狠狠色综合久 | 国产精品高潮久久| 久久久久久夜精品精品免费| 日韩亚洲不卡在线| 你懂的国产精品| 性久久久久久久久久久久| 亚洲激情二区| 国产又爽又黄的激情精品视频| 欧美日本韩国一区二区三区| 欧美在线亚洲| 亚洲一区二区在线看| 亚洲高清在线观看一区| 久久国产精品久久精品国产| 一区二区三区.www| 91久久在线播放| 国产在线麻豆精品观看| 国产精品免费一区豆花| 欧美人交a欧美精品| 猫咪成人在线观看| 久久精品免视看| 亚洲男人第一网站| 一区二区成人精品 | 亚洲欧美日产图| 亚洲精品一区二区三区樱花| 国语自产偷拍精品视频偷| 国产精品免费在线| 国产精品久久久久久影视| 欧美日韩国产电影| 欧美精品国产| 欧美激情综合五月色丁香小说| 久久艳片www.17c.com| 久久狠狠久久综合桃花| 性色av一区二区三区红粉影视| 亚洲在线不卡| 亚洲欧美国产三级| 亚洲欧美资源在线| 午夜精品免费在线| 欧美一级大片在线观看| 午夜精品久久久久影视| 亚洲欧美综合网| 午夜在线一区二区| 欧美一级视频| 欧美在线视频播放| 久久国产精品久久国产精品| 欧美一级午夜免费电影| 欧美一级片久久久久久久 | 蜜臀av在线播放一区二区三区| 久久精品视频va| 久久免费高清视频| 欧美a级片网| 欧美日本三级| 国产精品国产亚洲精品看不卡15| 欧美日韩一区在线视频| 国产精品乱码人人做人人爱| 国产精品久久久免费| 国产伦精品一区二区三区照片91| 国产嫩草一区二区三区在线观看| 国产模特精品视频久久久久 | 欧美黄色免费| 欧美三级精品| 国产日产精品一区二区三区四区的观看方式 | 欧美**人妖| 欧美日韩一区二区在线视频| 国产精品久久久久久久久久久久久久| 国产精品美腿一区在线看| 国产一区二区三区久久精品| 在线欧美不卡| 亚洲视频在线看| 久久国产高清| 亚洲成色777777女色窝| 国产香蕉97碰碰久久人人| 黑人极品videos精品欧美裸| 亚洲国产影院| 中文网丁香综合网| 久久久91精品国产| 亚洲激情社区| 亚洲欧美综合精品久久成人| 久久夜色精品亚洲噜噜国产mv| 欧美日本二区| 国产专区综合网| 亚洲伦理在线免费看| 欧美在线999| 亚洲风情亚aⅴ在线发布| 亚洲一区精品在线| 欧美成人一区二区在线 | 亚洲精品久久久久| 欧美在线91| 亚洲激情另类| 欧美一区二区日韩一区二区| 欧美国内亚洲| 国内外成人免费激情在线视频网站| 亚洲精品国产精品乱码不99| 欧美在线观看日本一区| 亚洲欧洲日本一区二区三区| 香港久久久电影| 欧美日韩高清一区| 亚洲国产精品精华液2区45| 亚洲欧美国产一区二区三区| 欧美高清视频一区二区| 校园春色国产精品| 欧美日韩二区三区| 91久久久在线| 久久综合一区二区三区| 亚洲制服欧美中文字幕中文字幕| 女女同性精品视频| 伊人久久综合97精品| 欧美一区午夜精品| 一区二区三区免费观看| 欧美精品videossex性护士| 极品少妇一区二区三区| 欧美伊人久久| 中文久久精品| 欧美日韩一区二区三区在线观看免| 亚洲国产精品一区二区尤物区 | 国产精品午夜春色av| 日韩午夜视频在线观看| 欧美国产日韩精品免费观看| 欧美一二三视频| 国产模特精品视频久久久久| 亚洲在线黄色| 在线午夜精品| 欧美性做爰猛烈叫床潮| 在线性视频日韩欧美| 亚洲黑丝一区二区| 欧美成人精品高清在线播放| 亚洲成人在线视频播放| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美久久久| 国产女主播在线一区二区| 亚洲欧美日韩中文视频| 亚洲香蕉网站| 国产伦精品一区| 欧美制服丝袜| 欧美在线高清| 国产在线精品自拍| 免费不卡在线视频| 免费日韩成人| 亚洲最新视频在线播放| 99热免费精品在线观看| 欧美性生交xxxxx久久久| 亚洲欧美中日韩| 欧美一区二区三区免费观看视频| 国产一区999| 美女爽到呻吟久久久久| 蜜臀久久99精品久久久画质超高清| 亚洲国产一区二区视频| 亚洲经典一区| 欧美亚州一区二区三区 | 最近中文字幕mv在线一区二区三区四区| 欧美不卡视频一区| 欧美激情区在线播放| 制服丝袜亚洲播放| 亚洲字幕一区二区| 激情婷婷久久| 亚洲精品1234| 欧美午夜片在线免费观看| 欧美一区亚洲一区| 久久五月婷婷丁香社区| 99精品免费网| 午夜伦欧美伦电影理论片| 影音先锋久久久| 99re热这里只有精品免费视频| 国产精品久久一卡二卡| 免播放器亚洲一区| 欧美日韩国产综合久久| 欧美一区二区日韩一区二区| 久久久久久一区二区三区| 日韩午夜免费视频| 性伦欧美刺激片在线观看| 91久久久国产精品| 亚洲伊人久久综合| 亚洲国产三级在线| 亚洲免费在线播放| 亚洲日韩第九十九页|