• 《线性表的一些总结》


                            线性表

    1,线性表可分为:顺序表和链表。

    2,其中顺序表和链表有又静态顺序表,动态顺序表和静态链表,动态链表之分。

    3,线性表的一般操作有:

    (1):线性表的创建,插入,删除等操作。

    //顺序表的一些基本操作
    #include<stdio.h>
    #define MaxSize 10

    //向顺序表中插入元素
    void InsertElem(int Sqlist[],int *len,int i,int x)
    {//向顺序表中第i个位置上插入元素x
    int t;
    if(*len==MaxSize || i<1 || i>*len+1)
    {
    printf("插入位置非法!");
    return;
    }
    for(t = *len-1;t>=i-1;t--)
    Sqlist[t+1] = Sqlist[t];
    Sqlist[i-1] = x;
    *len = *len+1;
    }

    //向顺序表中删除元素
    void DelElem(int Sqlist[],int *len,int i)
    {//删除顺序表中第i个元素
    int j;
    if(i<1 || i>*len)
    {
    printf("删除位置非法!");
    return;
    }
    for(j=i;j<=*len-1;j++)
    Sqlist[j-1] = Sqlist[j];
    *len = *len - 1;
    }

    //创建一个静态顺序表
    void CreatList(int Sqlist[],int n)
    {
    int i;
    printf("请输入%d个整数(以空格分开):",n);
    for(i=0;i<n;i++)
    scanf("%d",&Sqlist[i]);
    return;
    }

    //遍历顺序表
    void EverElem(int Sqlist[],int *len)
    {
    int i;
    printf("顺序表中的元素如下:");
    for(i=0;i<*len;i++)
    printf("%3d",Sqlist[i]);
    printf(" 顺序表的剩余空间是:%d",MaxSize - *len);
    printf(" ");
    return;
    }
    //主函数
    int main()
    {
    int Sqlist[MaxSize]; //定义一个静态顺序表
    int n,len,e1,e2,e3;
    //调用CreatList(int Sqlist[],int n)函数,初始化一个静态顺序表
    printf("请输入你要的数字:");
    scanf("%d",&n);
    CreatList(Sqlist,n);
    printf(" ");

    len = n;
    //调用EverElem(int Sqlist[],int *len)函数,输出顺序表中的元素
    EverElem(Sqlist,&len);

    //调用InsertElem(int Sqlist[],int &len,int i,int x)函数,向顺序表中插入元素
    printf("请输入你要插入的位置:");
    scanf("%d",&e1);
    printf("请输入你要插入的元素:");
    scanf("%d",&e2);
    InsertElem(Sqlist,&len,e1,e2);

    //调用InsertElem(int Sqlist[],int &len,int i,int x)函数,向顺序表中插入元素
    EverElem(Sqlist,&len);

    //调用InsertElem(int Sqlist[],int &len,int i,int x)函数,向顺序表中插入元素(插入错误的位置)
    printf("请输入你要插入的位置:(输入大于10以上的数)");
    scanf("%d",&e1);
    printf("请输入你要插入的元素:");
    scanf("%d",&e2);
    InsertElem(Sqlist,&len,e1,e2);
    printf(" ");

    //调用DelElem(int Sqlist[],int *len,int i)函数,删除指定的元素
    printf("请输入你要删除的元素序号:");
    scanf("%d",&e3);
    DelElem(Sqlist,&len,e3);
    //调用EverElem(int Sqlist[],int *len)函数,输出顺序表中的元素
    EverElem(Sqlist,&len);
    printf(" ");
    return 0;
    }

  • 相关阅读:
    使用yum更新时不升级Linux内核的方法
    centos7 redmine安装过程(转载)
    CentOS7安装GitLab、汉化、邮箱配置及使用(转载)
    [bzoj2780][Spoj8093]Sevenk Love Oimaster_广义后缀自动机
    [bzoj2595][WC2008]游览计划/[bzoj5180][Baltic2016]Cities_斯坦纳树
    [bzoj4006][JLOI2015]管道连接_斯坦纳树_状压dp
    OI模板のpoke流[大型考试复习必备/kl]
    [bzoj2453]维护队列_带修改莫队
    [bzoj4519][Cqoi2016]不同的最小割_网络流_最小割_最小割树
    [bzoj3894]文理分科_网络流_最小割
  • 原文地址:https://www.cnblogs.com/sun-/p/4868615.html
Copyright © 2020-2023  润新知