链表的基本操作

来源:互联网 发布:java redis缓存数据库 编辑:程序博客网 时间:2024/06/06 23:51

定义指针的结构体

struct data{    int x; //这是数据    struct data *next;};typedef struct data * dataNode;

创建链表

dataNode read(){    struct data *node0, *node1, *head;    node0 = new data;    node1 = new data;    head  = new data;//分配指针空间    node0 = node1 = head = NULL;    scanf("%d", &node0 -> x);    node0 -> next = node1;    head = node0;    while (node0 -> x > 0) //这里写退出条件    {        scanf("%d", &node1 -> x);        node0 = node1;        node1 = new data;        node0 -> next = node1;    }    node1 -> next = NULL;    node0 = NULL;    node1 = NULL; //释放指针    delete node0;    delete node1;    return head;//返回头指针}

遍历链表

void outp(dataNode head){    struct data *st;    st = NULL;    st = new data;    st = head;    while (NULL != st -> next)    {        cout << st -> x << endl; //遍历操作        st = st -> next;    }    st = NULL;    delete st;    return ;}
0 0
原创粉丝点击