C语言,用数组实现队列的入队,出队函数编程

C语言,用数组实现队列的入队,出队函数编程,第1张

这样的话应该符合你的要求:

#include<stdioh>

void add(int queue[],int x);

int Top(int queue[]);

void del(int queue[]);

int end=0;

int main()

{

 int n;

 scanf("%d",&n);//将要入队列n个元素

 int queue[1000];

 for(int i=1;i<=n;i++)//输入n个元素

 {

  add(queue,i);//将i加入队列

 }

 //验证加入队列的元素,将队列中的元素按照输入的顺序输出:

 for( i=1;i<=n;i++)

 {

  printf("%d ",Top(queue));//Top函数返回队头元素

  del(queue);//删除队头元素

 }

 //验证输出已经出队列后的队列(数组)元素:

 printf("\n");

 for(i=1;i<=n;i++)

  printf("%d ",queue[i]);

 printf("\n");

 return 0;

}

void add(int queue[],int x)

{

    queue[++end]=x;

}

int Top(int queue[])

{

    return queue[1];//注意,这里的函数始终return queue[1];这里是和将普通数组中的元素输出最大的不同之处。!!!!!!

}

void del(int queue[])

{

    for(int i=2;i<=end;i++)

 {

  queue[i-1]=queue[i];

 }

 queue[end]=0;//将删除后的地方置0

 end--;

}

queue

queue是STL中现成的队列容器,我们只需要了解他的相关函数及使用方法,即可很方便的帮助我们使用队列这个数据结构。

1头文件:

#include < queue >

2变量声明:

queue < 数据类型 >变量名

例queue < int >a; 即声明了一个int型的队列a

同理,也可声明queue < string > b; queue < struct node > c;

3相关函数:

(1)qpush(x) :即向队列q的队尾插入数据x

#include<queue>

queue<int> q;

qpush(5);

cout << qfront() << endl;

1

2

3

1

2

3

(2)qfront():此函数没有参数,是指返回队首的值(只返回此值,并不从队中删除)

queue<string> q;

qpush("hello");

qpush("world");

cout << qfront() << endl;

1

2

3

1

2

3

(3)qpop():此函数没有参数,指删除队首元素

queue<double> q;

qpush(53);

qpush(8);

cout << qfront() << '\n';

qpop();

cout << qfront() << '\n';

1

2

3

4

5

6

1

2

3

4

5

6

(4)qback():此函数没有参数,返回队尾元素的值

queue<double> q;

qpush(53);

qpush(8);

cout << qback() << endl;

1

2

3

1

2

3

(5)qempty():此函数没有参数,判断队列是否为空,若队空,则返回真(1)

queue<int> q;

cout << qempty() << endl;

qpush("3");

cout << qempty() << endl;

1

2

3

1

2

3

(6)qsize():此函数没有参数,返回队列元素个数

queue<double> q;

qpush(53);

qpush(8);

cout << qsize() << '\n';

1

2

3

4

1

2

3

4

二、priority_queue

int Succ (int Value, Queue Q )

Value 是 要插到哪里去

如果value太大,大于队列的容量,就让他插到队列的头去,重头再来一遍。懂了没?

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13494957.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存