zoukankan      html  css  js  c++  java
  • 单链表的简单操作

    #include<stdio.h>
    #include<ctype.h>
    #include<stdlib.h>
    #define OK 1
    #define ERROR 0
    
    typedef int Status;
    
    typedef struct Lnode
    {
        int data;
        struct Lnode *next;
    }Lnode, *Linklist;
    
    int m = sizeof(Lnode);
    
    Linklist CreateList(int n)
    {
        Linklist s, L;
        L = (Linklist)malloc(m);
        L->next = NULL;
        while(n--)
        {
            s = (Linklist)malloc(m);
            scanf("%d", &s->data);
            s->next = L->next;
            L->next = s;
        }
        return L;
    }
    
    void TraverseList(Linklist L)
    {
        Linklist p = L->next;
        while(p)
        {
            printf("%d ", p->data);
            p = p->next;
        }
        printf("
    ");
    }
    
    Status ListInsert(Linklist L, int i, int e)
    {
        int j = 1;
        Linklist p, s, s1;
        p = L;
        s = L->next;
        while(s && j < i)
        {
            p = s;
            s = s->next;
            j++;
        }
        if((s == NULL && j < i) || i < 1)
            return ERROR;
        s1 = (Linklist)malloc(m);
        s1->data = e;
        s1->next = p->next;
        p->next = s1;
        return OK;
    }
    
    
    Status ListDel(Linklist L, int i)
    {
        Linklist p = L, s = L->next;
        int j = 1;
        while(s && j < i)
        {
            p = s;
            s = s->next;
            j++;
        }
        if((s == NULL && j < i) || i < 1)
            return ERROR;
        p->next = s->next;
        free(s);
        return OK;
    }
    
    int main()
    {
        int n, k, x, y;
        Linklist L;
        scanf("%d", &n);
        L = CreateList(n);
        printf("生成的数组是:
    ");
        TraverseList(L);
        scanf("%d", &k);
        ListDel(L, k);
        printf("删除后得到:
    ");
        TraverseList(L);
        scanf("%d%d", &x, &y);
        ListInsert(L, x, y);
        printf("插入后得到:
    ");
        TraverseList(L);
        return 0;
    }
  • 相关阅读:
    SSH不超时
    python基本数据类型
    EF6.0批量插入
    AutoMapper的使用
    Json序列化,date类型转换后前端显示错误的解决方案
    Ajax跨域
    【转】C#多线程Lock使用
    Mongo集合操作Aggregate
    Json操作(DynamicJson)
    实用的VS工具
  • 原文地址:https://www.cnblogs.com/qq2424260747/p/4864186.html
Copyright © 2011-2022 走看看