<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

简介: c++中的STL是非常好用的。这里使用数组的形式或结构体的形式加深理解。首先,介绍数组的形式,,将“6 3 1 7 5 8 9 2 4”这 9个数分别写在 9张便签上模拟这样的规则,规则是这样的:首先将第 1个数删除,紧接着将第 2个数放到 这串数的末尾,再将第 3个数删除并将第 4个数放到这串数的末尾,再将第 5个数删除…… 直到剩下后一个数,将后一个数也删除。
  • c++中的STL是非常好用的。这里使用数组的形式或结构体的形式加深理解。
  • 首先,介绍数组的形式,,将“6 3 1 7 5 8 9 2 4”这 9个数分别写在 9张便签上模拟这样的规则,规则是这样的:首先将第 1个数删除,紧接着将第 2个数放到 这串数的末尾,再将第 3个数删除并将第 4个数放到这串数的末尾,再将第 5个数删除…… 直到剩下后一个数,将后一个数也删除。
  • 引入两个整型变量 head 和 tail。head 用来记录队列的队首(即第一位), tail 用来记录队列的队尾(即后一位)的下一个位置。你可能会问:为什么 tail 不直接记 录队尾,却要记录队尾的下一个位置呢?这是因为当队列中只剩下一个元素时,队首和队尾重合会带来一些麻烦。我们这里规定队首和队尾重合时,队列为空。
  • 其次,使用结构体的形式,定义一个结构体类型。

  • 代码:

 #include<iostream>
using namespace std;
/*这是第一种用数组的形式;
int main(){
    int p[102]={0,6,3,1,7,5,8,9,2,4},head,tail;
    int i;
     head=1;
     tail=10;
     while(head<tail){
        cout<<p[head]<<" ";
        head++;
        p[tail]=p[head];
        tail++;
        head++;
     }
     return 0;
}
*/
//以下是结构体类型写的:
struct queue{
  int data[100];
  int head;
  int tail;
};
int main(){
    struct queue q;
     q.head=1;
     q.tail=1;
    for(int i=1;i<=9;i++){
        cin>>q.data[q.tail];
        q.tail++;
    }
    while(q.head<q.tail){
        cout<<q.data[q.head]<<" ";
        q.head++;
        q.data[q.tail]=q.data[q.head];
        q.tail++;
        q.head++;
    }
    return 0;
}
 
目录
相关文章
|
Web App开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
TCP洪水攻击(SYN Flood)的诊断和处理 Posted by  海涛  on 2013 年 7 月 11 日 Tweet1 ​1. SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood。
1190 0
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
      前段时间公司hadoop集群宕机,发现是namenode磁盘满了, 清理出部分空间后,重启集群时,重启失败。 又发现集群Secondary namenode 服务也恰恰坏掉,导致所有的操作log持续写入edits.new 文件,等集群宕机的时候文件大小已经达到了丧心病狂的70G+..重启集群报错 加载edits文件失败。
1085 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Datanode的日志中看到: 10/12/14 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.
801 0
|
Web App开发 前端开发
|
Web App开发 前端开发 算法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
基于大数据的精准营销与应用场景 2015年08月11日 大数据 大数据营销时代来临营销学领域过去半个多世纪的发展让我们见证了从“以产品为中心”到“以客户为中心”的转变。
1071 0
|
Web App开发 前端开发 程序员
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Facebook 内部分享:不论你如何富有,你都赚不到更多的时间,你也回不到过去。没有那么多的假如,只有指针滴答的时光飞逝和你应该好好把握的现在,以下25张PPT的分享将为您带来时间价值管理的技巧。
707 0
|
SQL Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
     如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。
894 0
|
Web App开发 前端开发
|
数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
CentOS 6.5安装配置ldap 时间:2015-07-14 00:54来源:blog.51cto.com 作者:“ly36843运维” 博客 举报 点击:274次 一.
1028 0

热门文章

最新文章