Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245265
  • 博文数量: 49
  • 博客积分: 110
  • 博客等级: 民兵
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-13 00:59
个人简介

make it run,make it better,make it fast. https://github.com/liulanghaitun

文章分类

全部博文(49)

文章存档

2023年(1)

2022年(2)

2020年(4)

2019年(4)

2017年(15)

2016年(3)

2014年(3)

2013年(14)

分类: LINUX

2019-12-18 16:13:25

#include
#include


struct node
{
    int value;
    struct node *next,*prev;
};


static int init_value[5]={1,2,3,4,5};


struct node* createDoublyLinked(int *init_value,int postion,int length)
{
    if(length == 0) return NULL;
    struct node *init_node = malloc(sizeof(struct node));
    init_node->next = NULL;
    init_node->prev = NULL;
    if(postion == length -1)
    {
        init_node->value = init_value[postion];
        return init_node;
    }
    struct node* final_node= createDoublyLinked(init_value,postion+1,length);
    init_node->next = final_node;
    init_node->value = init_value[postion];
    final_node->prev = init_node;
    return init_node;
}


struct node *createLinkedList(int *init_value,int postion,int length)
{
    if(length == 0) return NULL;
    struct node *init_node = malloc(sizeof(struct node));
    init_node->next = NULL;
    if(postion == length-1)
    {
        init_node->value=init_value[postion];
        return init_node;
    }
    init_node->next = createLinkedList(init_value,postion+1,length);
    init_node->value = init_value[postion];
    return init_node;
}


int main(void)
{
    struct node* result = createLinkedList(init_value,0,sizeof(init_value)/sizeof(init_value[0]));
    while(result != NULL)
    {
        printf("%d\t",result->value);
        result = result->next;
    }
    struct node* final = createDoublyLinked(init_value,0,sizeof(init_value)/sizeof(init_value[0]));
    struct node* last_node = NULL;
    while(final != NULL)
    {
        last_node = final;
        printf("%d ",final->value);
        final = final->next;
    }
    while(last_node != NULL)
    {
        printf("%d ",last_node->value);
        last_node = last_node->prev;
    }
    return 0;
}
阅读(911) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~