采用头插插法和尾插法建立单项链表

来源:互联网 发布:杨过 郭芙 知乎 编辑:程序博客网 时间:2024/04/30 03:39

PS: 来源2014年数据结构联考复习指导 Page27.

#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;const int END_INPUT = -1;typedef struct LNode {    int data;    struct LNode *next;}LNode, *LinkList;LinkList CreatList1(LinkList &L) {    LinkList s;  //LNode *s;    int x;    L = (LNode*)malloc(sizeof(LNode));//L = (LinkList)malloc(sizeof(LNode));    L -> next = NULL;    scanf("%d", &x);    while(x!=END_INPUT) {        s = (LNode*) malloc(sizeof(LNode));        s->data = x;        s->next = L->next;        L->next = s;        scanf("%d", &x);    }    return L;}LinkList CreatList2(LinkList &L) {    int x;    L = (LinkList)malloc(sizeof(LNode));    LNode *s, *r = L;    scanf("%d", &x);    while(x != END_INPUT) {        s = (LinkList)malloc(sizeof(LNode));        s->data = x;        r->next = s;        r = s;        scanf("%d", &x);    }    r->next = NULL;    return L;}void out_put_content(LinkList &L) {    LinkList p = L;    while(p->next != NULL) {        printf("%d->", p->next->data);        p = p->next;    }}int main(){    LinkList head1, head2; //LNode *L;    CreatList1(head1);    printf("List1:\n");    out_put_content(head1);    printf("\n");    printf("List2:\n");    CreatList2(head2);    out_put_content(head2);    return 0;}

0 0
原创粉丝点击