• 线性表-插入-删除


    #include<stdio.h>
    #define error 0
    #define ok 1
    #define true 1
    #define false 0
    #define maxn 100
    typedef int Status;
    typedef int ElemType;
    
    typedef struct
    {
        ElemType elem[maxn];
        int length;
    } SqList;
    
    Status ListInsert(SqList &L, int i, ElemType e)///插入函数
    {
        int j;
        if(L.length==maxn)return error;
        if(i<1 || i>L.length+1)return error;
    
        for(j=L.length-1; j>=i-1; j--)
            L.elem[j+1]=L.elem[j];
        L.elem[i-1]=e;
        L.length++;
        return ok;
    }
    
    Status ListDelete(SqList &L, int i, ElemType *e)///删除函数
    {
        int j;
        if(L.length==0)return error;
        if(i<1 || i>L.length)return error;
    
        *e=L.elem[i-1];
        for(j=i-1; j<L.length; j++)
            L.elem[j]=L.elem[j+1];
    
        L.length--;
        return ok;
    }
    
    Status InitList(SqList &L)
    {
        L.length=0;
        return ok;
    }
    
    void Trans(SqList L)
    {
        int j;
        for(j=0; j<L.length; j++)
            printf("%d%c", L.elem[j], j==L.length-1?'
    ':' ');
    }
    int main()
    {
        SqList L;
        int a;
    
        ///1)初始化顺序表
        InitList(L);
    
        ///2)插入一些元素: 12,23,34,45
        ListInsert(L,1,12);
        ListInsert(L,1,23);
        ListInsert(L,1,34);
        ListInsert(L,1,45);
        Trans(L);
        ListDelete(L, 1, &a);
    
        printf("
    删除的元素:
    %d
    ", a);
        Trans(L);
        return 0;
    }
  • 相关阅读:
    点到圆的切点
    两圆交点
    问n条平行于x,y的直线交点个数
    凸包与直线的关系
    Kuangbin的计算几何模板
    最大空凸包
    树链剖分模板题
    笔记1
    面试题2
    python utf-8 转码问题
  • 原文地址:https://www.cnblogs.com/w-y-1/p/5866139.html
Copyright © 2020-2023  润新知