鱼C论坛

 找回密码
 立即注册
查看: 2962|回复: 1

[技术交流] DS\逆置带头节点单链表

[复制链接]
发表于 2014-4-17 22:36:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ~风介~ 于 2016-5-19 23:59 编辑
/*
*简介:逆置带头结点单链表。 
*方法:将原链表数据用尾插法生成新链表 。 
*Powered by Niko! 
*/

#include <stdio.h>
#include <stdlib.h>

#define OK 1
#define ERROR -1

typedef int ElemType;
typedef int Status;

typedef struct Node 
{
        ElemType data;
        struct Node *next;
}linkedList; //此处需要加分号 


Status printLinkedList(linkedList *head);
linkedList *createLinkedList();
linkedList *reverseLinkedList(linkedList *head);


Status printLinkedList(linkedList *head)
{
        linkedList *p;
        
        for (p=head->next; p!=NULL; p=p->next)
                printf("%-3d", p->data);
        printf("\n");
        
        return OK;
}


//头插法
linkedList *createLinkedList() 
{
        int i = 0;
        linkedList *head, *L = (linkedList*)malloc(sizeof(linkedList));
        head = L;
        L->next = NULL;
        
        printf("please input integer<end with '86'>: \n");
        scanf("%d", &i);
        while (86 != i)
        {
                linkedList *p = (linkedList*)malloc(sizeof(linkedList));
                p->data = i;
                p->next = L->next; //把p指向L指向的那个节点 (开始时L指向NULL)。 
                L->next = p;
                
                scanf("%d", &i);
        }
        
        return head;
}


linkedList *reverseLinkedList(linkedList *head)
{
        printf("逆置后:\n");
    //定义 
    int i = 0;
    linkedList *newHead,*L = (linkedList*)malloc(sizeof(linkedList));
    newHead = L;//插入过程中节点L不断往后移动 
    L->next = NULL;
    
    for (head=head->next; head!=NULL; head=head->next)
    {
            linkedList *p = (linkedList *)malloc(sizeof(linkedList));
            p->data = head->data;
            p->next = L->next; 
            L->next = p;
            L = p;
        }
        
        return newHead;
}


int main() 
{
        printLinkedList(reverseLinkedList(createLinkedList()));
        
        return 0;
}

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-18 19:17:25 | 显示全部楼层
这个必须要看看那啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 20:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表