zoukankan      html  css  js  c++  java
  • golang 队列

    You have to perform NN operations on the queue. The operations are of following type:

    E xE x : Enqueue xx in the queue and print the new size of the queue.
    DD : Dequeue from the queue and print the element that is deleted and the new size of the queue separated by space. If there is no element in the queue then print 1−1 in place of deleted element.

    Constraints:
    1N1001≤N≤100
    1x1001≤x≤100

    Format of the input file:
    First line : N.
    Next N lines : One of the above operations

    Format of the output file:
    For each enqueue operation print the new size of the queue. And for each dequeue operation print two integers, deleted element (−1, if queue is empty) and the new size of the queue.

    该功能就是先进先出,和栈唯一不相同的就是 queue = queue[1:] 把前面的一个元素去掉

    package main
    
    import "fmt"
    var queue []int
    
    func main() {
    	//fmt.Println("Hello World!")
    	queue = make([]int,0,0)
    	var inputCount int
    	fmt.Scanln(&inputCount)
    	
    	var flag string
    	var value int
    	var queueLength int
    	for i:=0;i<inputCount;i++{
    	    fmt.Scanln(&flag,&value)
    	    queueLength = len(queue)
    	    if flag == "E" {
    	        queue = append(queue,value)
    	        queueLength = len(queue)
    	        fmt.Println(queueLength)
    	    }else if flag == "D"{
    	       if queueLength ==0 {
    	           fmt.Println("-1 0")
    	       }else{
    	           exitvalue:=queue[0]
    	           queue = queue[1:]
    	           queueLength = len(queue)
    	           fmt.Println(exitvalue,queueLength)
    	       }
    	    }
    	}	
    }
    

      

  • 相关阅读:
    O021、创建 Image
    O020、理解 Glance
    O019、通过例子学习 Keystone
    O018、理解 Keystone 核心概念
    O017、部署DevStack
    O016、搭建实验环境
    O015、OpenStack 架构
    O014、云计算与OpenStack
    O013、动手实践Linux VLAN
    O012、Linux如何实现VLAN
  • 原文地址:https://www.cnblogs.com/jfliuyun/p/6848461.html
Copyright © 2011-2022 走看看