c++ 链表

Mr.chan ?? ?? 2020-04-13 12:39:19
新手一枚,创建一个c++ 链表代码。Input:happy output:hhaappyy。以后是我的代码。请大神帮助哪里出错了。
#include<iostream>

using namespace std;

typedef struct node{
char arr[5];
struct node *next;
}List;

List *CreateList(char line)
{


char arr[5];
List *head = new List;
List *pre = head;
for(int i = 0;i<5;i++)
{
List *p = new List;
arr[i] = line;
pre->next = p;
pre = p;
pre->next=NULL;
}
return head;
}

void display(List *head)
{
List *p = head->next;
int i =0;
while( p!=NULL)
{
cout<<p->arr[i];
cout<<p->arr[i];
p = p->next;
i++;
}
}

int main(){
string line;
cout<<"Enter a string: "<<endl;
cin>>line;
for(int i = 0;i<line.length();i++)
{
List *head = CreateList(line[i]);
display(head);
}
return 0;
}
...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr.chan ?? ?? 2020-04-13
  • 打赏
  • 举报
回复
我想知道要怎么样修改才行呢?谢谢
chxchxkkk 2020-04-13
  • 打赏
  • 举报
回复
arr[i] = line;这一句赋值不对, arr[5]是一个字符数组,每个元素是一个单个字符。 把一个字符串变量赋值给一个字符显然是不对的。
  • 打赏
  • 举报
回复
....我什么都打印不出来 CreateList 里面给临时变量 char arr[5];赋值,却没有给链表节点元素赋值 打印的时候又打印了两遍节点元素值 cout<<p->arr[i]; cout<<p->arr[i]; 乱码啊

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧