【指针+模拟】队列的运用

 

   普通队列运用

数组装数据,用两个int来模拟头尾指针

#include<iostream>
using namespace std;
int main()
{
int q[100] = { 0, 6, 3, 1, 7, 5, 8, 9, 2, 4 },head=0,tail=9;
    //模拟并初始化队列
while (head < tail)
{
cout<<q[head];
head++;
q[tail] = q[head];
tail++; head++;
}

return 0;
}

可以试试结构体封装一下

#include<iostream>
using namespace std;
struct queue
{
int data[100];//队列主体,用于储存
int head;//用于存放队首
int tail;//用于存放队尾
};

int main()
{
struct queue q;
int i;//用于初始化
q.head = 1;//成员访问符
q.tail = 1;
//数组初始化
for (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;
}

 

使用头尾指针

==指针不熟练,有时间再补充

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章