当前位置:问百书>百科问答>C++reverse函数

C++reverse函数

2023-03-14 10:14:21 编辑:join 浏览量:593

问题补充说明:选用C或C++编程语言,描述一动态链表数据结构,其中每一链的内容为一个字母。构造一个函数reverse,其输入输出均为指向此类数据结构的指针,而输出链表为输入链表的逆排列。输入可能是空集.(1)完成reverse函数(2)完成一个链表打印函数prinrtlist,输入为链表的指针,依次打印每个链表元素内容。如:A B C NULL

C++reverse函数

#include<stdio.h>

#include<stdlib.h>

t来自ypedefstruc360问答t_node{

intvalue;

struct_node*next;

}node;

node*make_node(intv督类站映流从县祖鱼传alue){

node*new_node=(node*)malloc(sizeof亮价才跑(node));

new_node->value=value;

new_node->ne控简括富曲xt=0;

returnnew_node;

}

node*add_after(node*pos,intvalue){

node*new_node=make_node(value);

pos->next=new_nod表市州养合和低师烧沉e;

returnnew_node;

}

voidprin福员甚厚活让适厂个渐现t_node_list(node*head){

while(head){

printf("%d",head->v问alue);

head=head->next;

}

printf("\n");

}

voidfree_node_list(node*head){

node*temp;

while(head){

temp=hea仍岩片游口言云答远端量d;

head=head->next;

free(temp);

保际斯等应哪府席列试}

}

node*reverse(node*head){

政怎node*f=0,*s=0;

while(head){

班果刚战f=s;

s=head;

head=head->next;

s->next注巴盟=f;

}

returns;

}

intmain(){

inti=0;

node*head=make_node(i),*last=head;

while(i<10){

last=add_after(last,++i);

}

print_node_list(head);

head=reverse(head);

print_node图自烈乱序困_list(head);

free_node_list(head);

r呼景每eturn0;

}

标签:C++,reverse,函数

版权声明:文章由 问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbaishu.com/answer/45285.html
热门文章
二维码