C++如何建立一个10个节点的单向链表存储10个由整型和字符串的记录数据并顺序和倒序输出

求问!!
C++如何建立一个10个节点的单向链表存储10个由整型和字符串的记录数据并顺序和倒序输出

#include <iostream>
#include <string.h>

typedef struct Record
{
int n;
char s[5];
Record *next;
}Record,*RList;

void buildList(RList &list)//创建链表 
{
Record *p;
list=new Record;//创建头结点,不存储数据 
p=list;
for(int i=0;i<10;i++)
{
p->next=new Record;
p=p->next; 
p->n=i;
strcpy(p->s,"str");
p->s[3]=i+0x30;//将数字i转换成对应字符
p->s[4]='\0';//字符串结尾
}
p->next=NULL;//链表结束 
}

void reverseList(RList list)//逆置链表 
{
Record *p=list->next->next,*r;
list->next->next=NULL;//链表尾 

//头插法
while(p)
{
r=p->next;
p->next=list->next;
list->next=p;
p=r;
}
}

void printList(RList list)//打印链表
{
Record *p = list->next;

while(p)
{
printf("n=%d s=%s\n",p->n,p->s);
p=p->next;
}



int main(int argc, char** argv) {
RList list;
buildList(list);
printf("\n顺序输出:\n");
printList(list);
printf("\n倒序输出:\n");
reverseList(list);
printList(list);
reverseList(list);//还原链表

return 0;
}

追问

求问:如果是要求用户输入,然后再输出呢?应该如何改

温馨提示:答案为网友推荐,仅供参考
相似回答