11988

来源:互联网 发布:淘宝网我是卖家 编辑:程序博客网 时间:2024/06/12 18:37

紫书上例题6-4;啥都不说书上有代码,自己看;

#define _CRT_SECURE_NO_WARNINGS   #include<iostream>  #include<algorithm>  #include<string>  #include<sstream>  #include<set>  #include<vector>  #include<stack>  #include<map>  #include<queue>  #include<deque>  #include<cstdlib>  #include<cstdio>  #include<cstring>  #include<cmath>  #include<ctime>  #include<functional>  using namespace std;    #define N 100000+5  int last, cur, Next[N];  char s[N];  int main()  {      //freopen("t.txt", "r", stdin);      while (~scanf("%s", s + 1))      {          int n = strlen(s + 1);          last = cur = 0;          Next[0] = 0;          for (int i = 1; i <= n; i++)          {              char ch = s[i];              if (ch == '[')cur = 0;//头结点移到位置0              else if (ch == ']')cur = last;//头结点移到位置last              else//进行插入操作              {                  Next[i] = Next[cur];                  Next[cur] = i;                  if (cur == last)last = i;                  cur = i;              }          }          for (int i = Next[0]; i != 0; i = Next[i])//按顺序输出链表              printf("%c", s[i]);          cout << endl;      }      return 0;  }  


0 0
原创粉丝点击