sách gpt4 ai đã đi

c++ - 为什么这个静态队列程序不起作用?它自行结束,突然

In lại 作者:行者123 更新时间:2023-11-28 03:13:59 29 4
mua khóa gpt4 Nike

bool queueIsFull(int rearPointer)
{
if(rearPointer==9)
return 1;
khác
trả về 0;
}

void PUSH (int queue[], int value, int *frontPointer, int *rearPointer)
{
*rearPointer++;
if(*frontPointer==-1)
*frontPointer=0;
queue[*rearPointer] = value;
}

bool queueIsEmpty (int frontPointer, int rearPointer)
{
if(rearPointer==(-1) && frontPointer==(-1))
trả về giá trị đúng;
khác
trả về false;
}

void POP (int* frontPointer, int* rearPointer, int queue[])
{
cout << "\n Deleted element is: " << queue[*frontPointer];
if(*rearPointer==*frontPointer)
{
*rearPointer=-1;
*frontPointer=-1;
}
khác
*frontPointer++;
}


int chính()
{
int option, value, queue[10];
int rearPointer=-1, frontPointer=-1;
while(1)
{
cout << "\n----------[STATIC QUEUE]--------\nEnter a choice: \n1. PUSH AN ELEMENT\n2. POP AN ELEMENT\n3. EXIT\n";
cin >> option;
switch(option)
{
case 1: if(!queueIsFull(rearPointer))
{
cout << "\nEnter a value to push in queue: ";
cin >> value;
PUSH(queue, value, &frontPointer, &rearPointer);
}
khác
cout << "\nqueue is full. Empty the queue elements and try again!";
phá vỡ;

case 2: if(!queueIsEmpty(frontPointer, rearPointer)) // either of the parameters would do.
POP(&frontPointer, &rearPointer, queue); // queue is optional. You only need it to display thte poped value.
khác
cout << "\nqueue is already empty. Enter some elements";
phá vỡ;

case 3: return 0;
phá vỡ;

default: cout << "\nWrong choice! Try again.";
phá vỡ;
}
}
}

我无法到达任何地方,也无法调试问题,因为当我在队列中输入值时程序突然终止!这就是为什么越来越难以理解根本问题所在的原因!为什么会这样?

另外,您能给我一些提示,告诉我以后如何解决此类问题吗?

1 Câu trả lời

PUSH 函数实际上是递增指针 rearPointer 而不是它指向的值。

改变

*rearPointer++;

đến

(*rearPointer)++;

关于c++ - 为什么这个静态队列程序不起作用?它自行结束,突然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17513999/

29 4 0
Bài viết được đề xuất: javascript - 如何使用初始化的模型作为模式打开的唯一标识符?
Bài viết được đề xuất: php - 如何将链接添加到 mysql 数据库记录作为 href?
Bài viết được đề xuất: c++ - 映射 C++ 反向迭代器
Bài viết được đề xuất: c++ - _L_unlock_16的性能瓶颈
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com