单链表反转

#include<cstdio>
#include<cmath>
struct node{
	int value;
	struct node* next;
};
node* reverse(node* list){
	node* head=NULL,*cur=list,*temp;
	while(cur!=NULL){
		temp = cur->next;
		cur->next = head;
		head = cur;
		cur = temp;
	}
	return head;
}
int main(){
	node n1,n2,n3,n4,n5,n6,n7;
	n1.value = 1;
	n2.value = 2;
	n3.value = 3;
	n4.value = 4;
	n5.value = 5;
	n6.value = 6;
	
	
	n1.next = &n2;
	n2.next = &n3;
	n3.next = &n4;
	n4.next = &n5;
	n5.next = &n6;
	n6.next = NULL;
	
	node* list1 = &n1;
	node* p = reverse(list1);

	while(p!=NULL){
		printf("%d ",p->value);
		p = p->next;
	}
	printf("\n");
}
全部评论

相关推荐

10-17 17:54
门头沟学院 Java
点赞 评论 收藏
分享
10-17 13:54
上海大学 运营
雾凇岛:这还说什么了,冲了兄弟们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务