zoukankan      html  css  js  c++  java
  • 两个队列实现栈

     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 }
  • 相关阅读:
    laravel 服务容器,容器概念
    初识swoole
    一个小demo---递归计算子类下的某个值的总和
    微信支付の退款申请
    Box/Spout处理excel和csv
    mysql 获取指定日期的周/月开始 和 周/月结束
    时间字段规定模式获取
    异步服务器之心跳检测
    larave -- leftJoin IFNULL 链表查询
    Mac版Navicat破解
  • 原文地址:https://www.cnblogs.com/susidian/p/10013155.html
Copyright © 2011-2022 走看看