gpt4 book ai didi

C - 实现 Char * 数组的队列

转载 作者:行者123 更新时间:2023-11-30 16:25:36 24 4
gpt4 key购买 nike

我想实现一个包含 10 个 char * 数组元素的队列。我在互联网上搜索但找不到足够的解决方案。我有一个 char 数组:

char str[50]: 
char *arr[5];

用户输入一些带有退格字符的字符串,例如“你好,我是计算机”。该字符串位于 str[] 数组中。我用 strtok() 函数标记它们并将其分配给 arr[]。然后它变成:

//arr[0] = "Hello"
//arr[1] = "I"
//arr[2] = "am"
//arr[3] = "computer"

到目前为止都还好,我做得正确。

现在我的问题是如何将整个 arr 数组保存在队列的第一个节点或元素中。有很多关于保存 int 值的队列的示例,它们很容易理解,但我无法执行 char * 版本。

最佳答案

据我理解你的问题,你需要实现一个字符串类型的队列。

您可以像处理任何其他队列一样进行操作。但是,它不是 int 类型,而是 char* 类型,您还需要传递单词的长度,以便您可以取消引用从 char 指针开始直到单词长度的许多 char

void Enqueue(char* x, int len)
{
// if empty
front = rear = 0;
// else
rear = (rear+1);
char ch[100];
for(int i=0;i<len;i++) {
ch[i] = *(x+i);
}
Arr[rear] = ch;
}

关于C - 实现 Char * 数组的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53334524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com