您的位置:首页 > 其它

单链表

2016-06-12 15:13 176 查看
 

单链表+++++++++++++++

#include <stdio.h>

#include <stdlib.h>

#include "linklist.h"

int main()

{

    Linklist link1;

    link1 = create_null_link();

    if(is_null_link(link1))

        printf("Empty\n");

    for(int i = 0; i < 10 ; i++)

        //insert_link_head(link1, i + 1);

        insert_link_tail(link1, i + 1);

    Pnode q;

    q = link1->next;

    while(q){

        printf("%d ", q->info);

        q = q->next;

    }

    return 0;

}

 

#include "linklist.h"

Linklist create_null_link(void)

{

    Linklist llist;

    llist = (Linklist)malloc(sizeof(struct node));

    llist->next = 0;

    return llist;

}

//===================================================

int is_null_link(Linklist llist)

{

    return 0 == llist->next;

}

//=================================================

void insert_link_head(Linklist llist,DataType x)

{

    Pnode p1;

    p1 = (Pnode)malloc(sizeof(struct node));

    p1->info = x;

    p1->next = llist->next;

    llist->next = p1;

}

//================================================

void insert_link_tail(Linklist llist,DataType x)

{

    Pnode p1;

    p1 = (Pnode)malloc(sizeof(struct node));

    p1->info = x;

    Pnode q1;

    q1 = llist;

    while(q1->next)

        q1 = q1->next;

    q1->next = p1;

    p1->next = 0;

}

 

 

#ifndef _LINKLIST_H_

#define _LINKLIST_H_

struct node;

typedef int DataType;

typedef struct node* Pnode;

struct node

{

    DataType info;

    Pnode next;

};

typedef struct node* Linklist;

Linklist create_null_link(void);

int is_null_link(Linklist llist);

void insert_link_head(Linklist llist,DataType x);

void insert_link_tail(Linklist llist,DataType x);

#endif // _LINKLIST_H_

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: