• 《线性表的一些总结》


                            线性表

    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;
    }

  • 相关阅读:
    23.Linux-块设备驱动(详解)
    Linux-fdisk磁盘分区命令(16)
    Linux-mkdosfs格式化磁盘命令(15)
    22.Linux-块设备驱动之框架详细分析(详解)
    21.Linux-写USB键盘驱动(详解)
    20.Linux-USB鼠标驱动
    USB_4大描述符
    JAVA关于静态static的面试题
    eclipse自动提示功能没了的解决办法
    最新解决Chrome(版本76.0.3809.100) “请停用以开发者模式运行的扩展程序”的方法
  • 原文地址:https://www.cnblogs.com/sun-/p/4868615.html
Copyright © 2020-2023  润新知