写一个C/C++程序,实现链表的逆序。

[复制链接]
查看11 | 回复3 | 2012-1-28 03:38:10 | 显示全部楼层 |阅读模式
假设链表为a->b->c->d 逆序后为d->c->b->a
#include #include typedef int Type;typedef struct Node{
Type data;
struct Node *next;}Node;void insert(Type data,Node **head){//插入一个节点
Node *tmp = (Node*)malloc(sizeof(Node));
tmp->next=*head;
tmp->data=data;
*head=tmp;}void print_list(Node...
回复

使用道具 举报

千问 | 2012-1-28 03:38:10 | 显示全部楼层
哥们收下吧~2种方法,带详细注释稍微来点分呗~~~~单链表逆置:1》插入法:void Reverse1(LinkList * head){LinkList *p ,*q;if (p)
//链表不空。若为循环单链表,则if(p!=head){P = head -> next; ...
回复

使用道具 举报

千问 | 2012-1-28 03:38:10 | 显示全部楼层
// 建议画示意图,以便更好的理解代码中的注释struct IntNode* res(struct IntNode* h) {struct IntNode *s,*t;s = h; // s指向第一个结点h = NULL; // 目前,链表h为空while(s) { // 只要链表不空就继续t = s; // t指向要翻转的结点s...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行