XXLB

来源:互联网 发布:截面数据 编辑:程序博客网 时间:2024/06/05 11:16
#include < stdio.h > #include < stdlib.h > #include "myconst.h"typedef int ElemType;typedef struct LNode {    ElemType data;    struct LNode * next;}LNode,*LinkList;void printL(LinkList L) {    LinkList p;    p = L - >next;    while (p) {        printf("%d ", p - >data);        p = p - >next;    }    printf("\n");}Status ListInsert_L(LinkList & L, int i, ElemType e) {    LinkList p,    s;    int j;    p = L;    j = 0;    while (p && j < i - 1) {        p = p - >next; ++j;    }    if (!p || j > i - 1) return ERROR;    s = (LinkList) malloc(sizeof(LNode));    s - >data = e;    s - >next = p - >next;    p - >next = s;    return OK;}Status ListDelete_L(LinkList & L, int i, ElemType & e) {    LinkList p,    q;    int j;    p = L;    j = 0;    while (p - >next && j < i - 1) {        p = p - >next; ++j;    }    if (! (p - >next) || j > i - 1) return ERROR;    q = p - >next;    p - >next = q - >next;    e = q - >data;    free(q);    return OK;}void CreateList_L(LinkList & L, int n) {    LinkList p;    int i;    L = (LinkList) malloc(sizeof(LNode));    L - >next = NULL;    for (i = n; i > 0; --i) {        p = (LinkList) malloc(sizeof(LNode));        printf("L[%d]=", i);        scanf("%d", &p - >data);        p - >next = L - >next;        L - >next = p;    }}void main() {    LinkList L;    int n = 5,    e = 100;    CreateList_L(L, n);    printf("xinbiao:\n");    printL(L);    ListInsert_L(L, 3, e);    printf("charu hou:\n");    printL(L);    ListDelete_L(L, 1, e);    printf("shanchu hou:\n");    printL(L);    printf("e=%d\n", e);}

0 0
原创粉丝点击