• 线性表的顺序存储


    建立长度为n的顺序表SeqList,长度n通过和n个数据元素通过键盘输入。

    要求:

        1)通过调用插入函数,建立一个长度为n的顺序表类的对象,新插入的元素始终插入到第0号位置;

        2)在顺序表SeqList中增加一个删除函数,要求删除顺序表中等于item的所有元素。

    输入

    输入共有三行,第一行是一个整数n,表示线性表的长度; 第二行输入一个整数item,指定被删除的数据元素值; 第三行是输入n个整数数据元素;

    输出

    第一行输出第一个线性表的所有数据元素; 第二行输出删除指定数据元素后的线性表的所有数据元素;

    样例输入

    10
    55
    1 2 33 44 55 55 55 44 55 12
    

    样例输出

    12 55 44 55 55 55 44 33 2 1
    12 44 44 33 2 1
    #include <iostream>
    #include <stdlib.h>
    #define Max_size 1000
    using namespace std;
    //顺序表结构
    struct Sq_list
    {
        int elem[Max_size + 1];
        int length;
    };
    //创建并初始化顺序表
    int Init_list(Sq_list *L)
    {
        L->length = 0;
        return 0;
    }
    int insert(Sq_list *L,int n)
    {
        for (int i = n; i >= 1; i--)
        {
            int data;
            cin >> data;
            L->elem[i] = data;
            L->length++;
        }
        return 0;
    }
    //删除指定值元素
    int Delete(Sq_list *L,int data)
    {
    
        int length = L->length;//存放表的原长
        for (int i = 1; i <= L->length; i++)
        {
            if (L->elem[i] == data)
            {
                for (int j = i; j < L->length; j++)
                {
                    L->elem[j] = L->elem[j + 1];
                }
                i--;
                L->length--;
            }
        }
        if (L->length == length)//判断表长是否发生改变
        {
            cout << "您想要删除的元素不在本链表中" << endl;
        }
        return 0;
    }
    //遍历顺序表
    int show(Sq_list *L)
    {
        for (int i = 1; i < L->length; i++)
        {
            cout << L->elem[i] << ' ';
        }
        cout << L->elem[L->length] << endl;
        return 0;
    }
    int main()
    {
        Sq_list L;
        Init_list(&L);
        int n;
        cin >> n;
        int data;
        cin >> data;
        insert(&L,n);
        show(&L);
        Delete(&L,data);
        show(&L);
        return 0;
    }
  • 相关阅读:
    Java 三大主流 工作流 学习
    有限状态机(FSM)的Java 学习FSM
    OSWorkFlow 学习
    三种分布式对象主流技术——COM、Java和COBRA
    Java对象池技术的原理及其实现
    tomcat,很多时候,可以在服务server.xml中可以实现一些效果
    理解Scala
    CAP原理和BASE思想
    Java 在PDF文档中绘制图形
    Java 处理PDF图章(印章)——图片图章、动态图章
  • 原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838477.html
Copyright © 2020-2023  润新知