• 两个队列实现栈


     1 push(const T& element)
     2 {
     3 if(queue1.size()>0)//如果queue1不为空则往queue1中插入元素
     4 queue1.push(element);
     5 else if(queue2.size()>0)//如果queue2不为空则往queue2中插入元素
     6 queue2.push(element);
     7 else//如果两个队列都为空,则往queue1中插入元素
     8 queue1.push(element);
     9 
    10 }
    11 
    12 //删除元素
    13 T CStack<T>::pop()
    14 {
    15 if(queue1.size()==0)//如果queue1为空
    16 {
    17 while(queue2.size()>1)//保证queue2中有一个元素,将其余元素保存到queue1中
    18 {
    19 queue1.push(queue2.front());
    20 queue2.pop();
    21 }
    22 
    23 T& data=queue2.front();
    24 queue2.pop();
    25 return data;
    26 }
    27 else//如果queue2为空
    28 {
    29 while(queue1.size()>1)//保证queue2中有一个元素,将其余元素保存到queue1中
    30 {
    31 queue2.push(queue1.front());
    32 queue1.pop();
    33 }
    34 T& data=queue1.front();
    35 queue1.pop();
    36 return data;
    37 }
    38 
    39 删除字符串空格
    40 void TrimSpace(char *str)
    41 {
    42 if(str == NULL)
    43 return ;
    44 int i=0;
    45 int j=0;
    46 while(str[j] == ' ') ++j;
    47 int n = strlen(str);
    48 int k = n-1;
    49 while(str[k] == ' ')--k;
    50 str[k+1] = '';
    51 while(str[j] != '')
    52 {
    53 while(str[j] == ' ')++j; 
    54 if(str[j-1] == ' ' && str[j-2] == ' ' && i != 0)
    55 str[i++] = ' ';
    56 str[i++] = str[j++];
    57 }
    58 str[i] = '';
    59 }
  • 相关阅读:
    【leetcode】Recover Binary Search Tree
    【leetcode】Dungeon Game
    【leetcode】Text Justification
    【leetcode】Largest Number
    【leetcode】Merge k Sorted Lists
    【leetcode】Reverse Nodes in k-Group
    【leetcode】Multiply Strings
    【leetcode】Unique Binary Search Trees II
    hdu 1885 bfs+状压
    hdu 1429 bfs+状态压缩
  • 原文地址:https://www.cnblogs.com/susidian/p/10013155.html
Copyright © 2020-2023  润新知