• 静态顺序表的各种操作


    //
    //  main.c
    //  test1
    //
    //  Created by chen on 14-3-10.
    //  Copyright (c) 2014年 chen. All rights reserved.
    //
    
    #include "stdio.h"
    #include<stdlib.h>
    #define MaxSize 10      //静态表的最大值为10
    /*静态顺序表的各种操作*/
    
    /**   向顺序表中插入元素    */
    /**   参数Sqlist:表首地址    */
    /**   参数*len: 表的长度     */
    /**   参数i: 插入元素的位置 */
    /**   参数x:待插入的元素值  */
    void insertElem(int Sqlist[],int *len,int i,int x)//此处使用*len的作用就是使这个函数可以改变它的值。即:传入了地址!
    {
        int t;
        if(*len==MaxSize || i<1 || i>*len+1)
        {
            printf("This insert is illegal
    ");
            return;
        }                                      /*非法插入*/
        for(t=*len-1;t>=i-1;t--)
            Sqlist[t+1]=Sqlist[t];
        Sqlist[i-1]=x;                           /*插入元素*/
        *len=*len+1;                          /*表长加1*/
    }
    
    /**   向顺序表中删除元素    */
    /**   参数Sqlist:表首地址    */
    /**   参数*len: 表的长度     */
    /**   参数i: 删除元素的位置 */
    void DelElem(int Sqlist[],int *len,int i)
    {
        int j;
        if(i<1 || i>*len)
        {
            printf("This insert is illegal");
            return;
        }                                    /*非法插入*/
        for(j=i;j<=*len-1;j++)
            Sqlist[j-1]=Sqlist[j];               /*将第i个元素之后的元素前移*/
        *len=*len-1;                          /*表长减1*/
    }
    
    /**测试函数*/
    int main()
    {
        /*按照题目要求进行测试*/
        int Sqlist[MaxSize];                   /*定义一个静态顺序表*/
        int len;
        int i;
        printf("please input 6 numbers:
    ");
        for(i=0;i<6;i++)
            scanf("%d",Sqlist+i);               //此句和下一句的功能一样,注意区分
            //scanf("%d",&Sqlist[i]);            /*从键盘输入6个整数*/
                                                //c中,输入的分割是回车或者空格,数量不限制
        len=6;
        for(i=0;i<len;i++)
            printf("%d ",Sqlist[i]);            /*输出顺序表中的6个整数*/
        printf("
    The spare length is %d
    ",MaxSize - len);    /*显示表中的剩余空间*/
        insertElem(Sqlist,&len,3,0);          /*在表中第3位置插入整数0*/
        for(i=0;i<len;i++)
            printf("%d ",Sqlist[i]);            /*输出顺序表中的所有元素*/
        printf("
    The spare length is %d
    ",MaxSize - len);   /*显示表中的剩余空间*/
        insertElem(Sqlist,&len,11,0);            /*在表中第11位置插入整数0*/
        DelElem(Sqlist,&len,6);              /*删除顺序表中的第6个元素*/
        for(i=0;i<len;i++)
            printf("%d ",Sqlist[i]);            /*输出顺序表中的所有元素*/
        printf("
    The spare length is %d
    ",MaxSize - len);     /*显示表中的剩余空间*/
        //getche();
        return 0;
    }
  • 相关阅读:
    神经网络训练收敛的解决办法
    minSdkVersion
    onlyoffice使用
    linux系统磁盘不足处理方法
    编辑docker容器中的文件
    如何使用Java获取上传图片需要旋转的角度且获取正确方向的图片
    Java数据类型转换
    bat脚本实现jdk安装、环境变量添加及jar包运行
    java实现文件上传接口及java调用文件上传接口
    flutter常用问题查询
  • 原文地址:https://www.cnblogs.com/little-white/p/3592097.html
Copyright © 2020-2023  润新知