zoukankan      html  css  js  c++  java
  • 数据结构——线性表的顺序表示(1)

    题目来源于王道2018数据结构考研复习指导线性表的综合练习

    编译环境:VS2015

    题目:从顺序表中删除具有最小值的元素(假设唯一),并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。

    具体实现如下:

    #include<stdio.h>
    #include<stdlib.h>
    #define initSize 50//定义线性表的初始长度
    typedef int ElementType;
    
    typedef struct {
        ElementType *data;//顺序表的元素
        int length;//当前表的长度
        int maxSize;//最大容量
    }SeqList;//顺序表的类型定义
    
    //初始化表。构造一个空的线性表
    void InitList(SeqList &L) {
        L.data = (ElementType*)malloc(sizeof(ElementType)*initSize);//分配存储空间
        L.length = 0;//设置顺序表的长度为0
        L.maxSize = initSize;//设置顺序表的最大容量
    }
    
    //创建线性表
    void CreateList(SeqList &L,int n) {
        for (int i = 0;i < n;i++) {
            scanf_s("%d",&(L.data[i]));
            L.length = n;
        }
    }
    
    //删除最小值
    int RemoveMin(SeqList &L,int &value) {
        int pos = 0;//记录最小值点的位置
        if (L.length == 0)
            return 0;
        value = L.data[0];
        for (int i = 1;i < L.length;i++) {
            if (L.data[i] < value) {
                value = L.data[i];
                pos = i;
            }
        }
        L.data[pos] = L.data[L.length - 1];
        L.length--;
        return 1;
    }
    
    //显示列表
    void ShowList(SeqList L) {
        for (int i = 0;i < L.length;i++) {
            printf_s("%-3d",L.data[i]);
        }
    }
    
    int main() {
        int length,min;
        SeqList L;
        InitList(L);
        printf_s("输入表的长度:");
        scanf_s("%d",&length);
        printf_s("
    输入初始值:");
        CreateList(L,length);
        printf_s("
    初始的顺序表的元素如下:");
        ShowList(L);
        RemoveMin(L,min);
        printf_s("
    删除最小值后的顺序表的元素如下:");
        ShowList(L);
        system("pause");
        return 0;
    }

    测试结果截图:

  • 相关阅读:
    跨域上传文件
    算法
    websocket
    Bottle
    爬虫一
    RabbitMQ
    git&github快速入门
    centos6安装SaltStack
    ajax
    Django之Model操作
  • 原文地址:https://www.cnblogs.com/abyss1114/p/7282806.html
Copyright © 2011-2022 走看看