C#实现队列的基本操作

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Queue

{

private int font = 0;

private int rear = 0;

private int size = 0;

int[] queue = new int[100];

public int isPan()

{

if (queue.Length == 100)

{

return 0;

}

else

{

return 1;

}

}

public int getSize()

{

size = queue.Length;

return size;

}

public void RuDui(int i)

{

if (isPan() == 0)

{

Console.WriteLine("抱歉队列已满,无法入队!");

}

else

{

queue[rear] = i;

size++;

rear++;

}

}

public void ChuDui()

{

Console.WriteLine(queue[font] + "出队");

size--;

font++;

}

}

}

========================================================================================

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class ClassMain

{

static void Main()

{

Queue q = new Queue();

Console.WriteLine("队列中总共有:" + q.getSize() + "个元素");

q.RuDui(5);

q.ChuDui();

Console.Read();

}

}

}

时间: 2024-11-05 18:54:16

C#实现队列的基本操作的相关文章

队列的基本操作

队列的存储结构有两种:一种是线性表存储,一种是链式存储.用线性表存储时,要注意队列的长度有没有超过预先设置的大小,在这个程序中,队列的可以在存满的时候,自动增加队列的长度.用链表存储,则没有长度的限制.下面分别是这两种存储结构的实现. 线性表存储: #include <stdio.h> #include <stdlib.h> #define QUEUE_INIT_SIZE 10 #define QUEUE_REALLOCATION 2 typedef int ElemType; /

数据结构-循环顺序队列的基本操作

//循环顺序队列的基本操作 #include <iostream> #include <string.h> using namespace std; #define MAXLEN 8 #define datatype char #define Status int typedef struct{ datatype s[MAXLEN]; int front; //记录队首的指针 int rear; //记录队尾的指针 }SeqQueue; //初始化 Status InitSeqQu

【数据结构】用C++编写队列及基本操作(包括插入,出队列,摧毁,清空等等)

//[数据结构]用C++编写队列及基本操作(包括插入,出队列,摧毁,清空等等) //头文件 #ifndef _SEQ_STACK_ #define _SEQ_STACK_ #include <iostream> using namespace std; template <class Type> class Queue { public: Queue(size_t sz = INIT_SIZE) { capacity = sz > INIT_SIZE ? sz : INIT_

C语言实现循环队列(基本操作及图示)

-------------------------------------------- 如果使用顺序表作为队列的话,当处于右图状态则不能继续插入新的队尾元素,否则会因为数组越界而导致程序代码被破坏. 由此产生了由链表实现的循环队列,只有队列未满时才可以插入新的队尾元素. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

队列的基本操作(链队列)

队列和栈差不多,唯一的区别就是栈式先进后出(FILO),队列是先进先出(FIFO),队列的示意图如下 其基本操作的代码如下 #include<iostream> #include<cstdlib> using namespace std; struct QNode{ int data; QNode *next; }; typedef QNode *QueuePtr; struct LinkQueue{ QueuePtr front; QueuePtr rear; }; //初始化队

C语言实现链表队列(基本操作及图示)

-------------------------------------------- 基本概念: 和栈相反,队列是一种先进先出(FIFO)的线性表.只允许在一端插入,在另一端删除. 允许插入的叫"队尾"(rear),允许删除的叫"队头"(front). 使用场景:操作系统的作业排队.在允许多道程序运行的计算机系统中,同时有几个作业运行.如果运行结果都需要通道输出,则按照请求输出的先后次序排队.每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中退出作输出

D_S 循环队列的基本操作

//  main.cpp #include <iostream> using namespace std; #include "Status.h" typedef int QElemType; #include "SqQueue.h" int main() { SqQueue Q; QElemType e; InitQueue(Q); EnQueue(Q,1); EnQueue(Q,3); EnQueue(Q,5); EnQueue(Q,7); cout

顺序循环队列的基本操作

#include #include #define OK 1 #define ERROR 0 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int QElemType; #define MAXQSIZE 100 // 最大队列长度(对于循环队列,最大队列长度要减1) typedef struct { QElemType *base; // 初始化的动态分配存储空间 int front; // 头指针,若队列不空,指向队列

循环队列的基本操作

主要的功能:1)循环队列的初始化 2)求循环队列的长度 3)循环队列的插入删除操作 4) 判断循环队列是否为空,是否已经满了 5)遍历循环队列 主要的原理: 1)初始化 front = rear = 0; 2)为空  front = rear 3)已满 front=(rear+1)%size 4)  插入 rear = (rear+1)%size 5)删除 front=(front+1)%size 代码如下: /******************************************