• 《静态顺序表的练习》


    //顺序表的一些基本操作
    #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;
    }

  • 相关阅读:
    面试题链接
    75 道 BAJT 高级 Java 面试题,你能答上几道?
    使用UML描述需求都实现的过程
    java面试题(下)
    golang中goconfig包使用解析
    golang中sublime text中配置goimports
    golang中new和make区别
    golang中并发sync和channel
    使用go build 进行条件编译
    golang中time包用法
  • 原文地址:https://www.cnblogs.com/sun-/p/4867557.html
Copyright © 2020-2023  润新知