永发信息网

建立含有n个数据元素的带头结点的单链表,依次输出该表中各元素的值,再逆置,输出表中各元素值。

答案:1  悬赏:10  手机版
解决时间 2021-03-17 12:11
建立含有n个数据元素的带头结点的单链表,依次输出该表中各元素的值,再逆置,输出表中各元素值。
最佳答案
#include 
#include 
typedef struct node {
int data;
struct node *next;
} *ListNode;
ListNode CreateList(int n) {
ListNode head,p,q;
head = p = (ListNode)malloc(sizeof(node));
p->data = 0;
for(int i = 0;i < n;i++) {
q = (ListNode)malloc(sizeof(node));
q->data = 2*i + 1;
p->next = q;
p = q;
}
p->next = head;
return head;
}
void PrintList(ListNode head) {
ListNode p = head->next;
while(p != head) {
printf("%d ",p->data);
p = p->next;
}

printf("

");

}
void FreeHeap(ListNode head) {
ListNode p,q;
p = head;
q = p->next;
while(q != head) {
p = q;
q = p->next;
free(p);
}
free(head);
}
ListNode ReverseList(ListNode head) {
    ListNode p,q,s;
    //链表为空,或是单结点链表直接返回头结点
    if (head == NULL || head->next == NULL) return head;
    p = head;
    q = head->next;
    while (q != head) {
        s = q->next;
        q->next = p;
        p = q;
        q = s;
    }
    head->next = p;
  return head;
}
int main() {
int n = 10;
ListNode head = CreateList(n);
PrintList(head);
PrintList(ReverseList(head));
FreeHeap(head);
return 0;
}

追问用程序运行有许多错误,你用的是C语言吗?追答运行截图都发出来了,没有错误。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
城区社区警务室地址有知道的么?有点事想过去
【讨论】问一个如何保存离体牙的问题
我唱歌很难听,音调不准,声线不好,急求好方
中兴自动锁屏
2015年1月4日上午5点44分出生,五行缺什么
根号27减15倍的根号下三分之一加四分之一的根
我刷了个永久的超Q不是纪念版。参加超Q转会员
15万定期5年,到期本息共有多少
coreldraw文件随便一单击字体就变黑变粗是什
我国的国家元首制度步入正轨是从哪一部宪法开
北京采招互联信息技术有限公司怎么样?
我是淑中人的作文六百字
LVSHFFAL5JS701932.是什么车
冒险岛英雄.圣骑.黑骑哪个比较厉害?
心悦会员2级,能帮助别人解封dnf永久封号的么
推荐资讯
胎囊1.2,1.8怀孕是多少天
依爱主机上出现烟传感故障是什么原因
和众人口文化公园在什么地方啊,我要过去处理
hdmi线电脑连接电脑可以吗?
神舟z6s2玩gta5能跑到什么特效
意大利的饮食特点
黎城华府的产权是多少年?
单位说我监守自盗构成诽谤罪吗
湖南大学潇湘学院怎样?
我家蜜蜂里有好多黑色蜂子,跟蜜蜂一个样,正
支撑相近词
张家口市国际旅行社地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?