热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这是顺序表的操作1.删除最小元素,空元素由最后一个填补,删除给定x的所有元素删除s-t间的所有元素

这是顺序表的操作1.删除最小元素,空元素由最后一个填补,删除给定x的所有元素删除s-t间的所有元素`#include<iostream>usingnamespaces
 这是顺序表的操作1.删除最小元素,空元素由最后一个填补,删除给定x的所有元素删除s-t间的所有元素
 `#include 

using namespace std;
class IntArray
{  public:
   int *b;
   int maxsize;
   int cursize;
   int position;
   IntArray(int max=0){
        b=new int[max];
        maxsize=max;
        cursize=0;
        position=0;
    }
    IntArray(){
        cursize=0;
    }
    ~IntArray()
    {
        delete []b;
    }
   bool InsertTail(int a)
    {
       if(cursize>=maxsize)
       {
         cout<<"OUT OF Memory"<return false;
       }
       else
       {
           b[cursize]=a;
           cursize++;
       }
       return true;
    }
    int FindminValue()
    {
        int i=0;
        int min=0;
        for(i=0;iif(b[i]return b[min];
    }
    int deleteMinValue(int min)
    {
        for(int i=0;iif(b[i]==min)
            {
                b[i]=b[cursize-1];
            }
        }
        return min;
    }
   bool deleteOneitem(int p)
    {
       if(cursize<=0)
       {
           cout<<"No item to delete"<return false;

       }
       else if(p<0||p>cursize-1)
       {
            cout<<"illegal to delete"<return false;
       }
       for (int i=p;i1;i++)
       {
           b[i]=b[i+1];
       }
       cursize--;
       return true;

    }
    int deletefixValue(int x)
    {
        for(int i=0;iif(x==b[i])
            {
                deleteOneitem(i);
                i--;
            }
        }

    }
    int deleteFromToValue(int min,int max)
    {
        for(int i=0;iif(b[i]>=min&&b[i]<=max)
            {
                deleteOneitem(i);
                i--;
            }
        }
    }
    bool show()
    {
        for(int i=0;icout<int main()
{   IntArray array(10);
    array.InsertTail(1);
    array.InsertTail(5);
    array.InsertTail(2);
    array.InsertTail(3);
    array.InsertTail(4);
    array.deleteMinValue(array.FindminValue());
    array.deletefixValue(2);
    array.deleteFromToValue(3,4);
    array.show();
    return 0;
}`

推荐阅读
  • c语言二元插值,二维线性插值c语言
    c语言二元插值,二维线性插值c语言 ... [详细]
  • 本文详细介绍了如何在循环双链表的指定位置插入新元素的方法,包括必要的步骤和代码示例。 ... [详细]
  • 线段树详解与实现
    本文详细介绍了线段树的基本概念及其在编程竞赛中的应用,并提供了一个具体的线段树实现代码示例。 ... [详细]
  • 编译原理中的语法分析方法探讨
    本文探讨了在编译原理课程中遇到的复杂文法问题,特别是当使用SLR(1)文法时遇到的多重规约与移进冲突。文章讨论了可能的解决策略,包括递归下降解析、运算符优先级解析等,并提供了相关示例。 ... [详细]
  • 本文提供了一个使用C语言实现的顺序表区间元素删除功能的完整代码示例。该程序首先初始化一个顺序表,然后根据用户输入的数据进行插入操作,最后根据指定的区间范围删除相应的元素,并输出最终的顺序表。 ... [详细]
  • POJ2263是一个经典的图论问题,涉及寻找从起点到终点的最大载重路径。本文将详细介绍该问题的背景、解题思路及代码实现。 ... [详细]
  • 本题涉及一个长度为n的序列{ai},代表一系列树木的美学价值。任务是处理m个查询,每个查询提供三个参数l、r和P,目标是在所有满足l < l' ... [详细]
  • HNOI2003 激光炸弹问题(二维前缀和的应用)难度:中等
    HNOI2003 激光炸弹问题是一个经典的二维前缀和应用题目。本文将详细介绍如何使用二维前缀和解决该问题。 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
  • 深入浅出C语言指针
    指针是C语言中极其重要的数据类型,广泛应用于各种数据结构的表示、数组和字符串的操作以及内存地址的处理。本文将通过实例详细解析指针的基本概念及其应用。 ... [详细]
  • 题目描述:计算从起点到终点的最小能量消耗。如果下一个单元格的风向与当前单元格相同,则消耗为0,否则为1。共有8个可能的方向。 ... [详细]
  • 在C++程序中,文档A的每一行包含一个结构体数据,其中某些字段可能包含不同数量的数字。需要将这些结构体数据逐行读取并存储到向量中,随后不仅在控制台上显示,还要输出到新创建的文档B中。希望得到指导,感谢! ... [详细]
  • 本文探讨了在形状类族中应用纯虚函数的设计模式及其解析方法。通过定义一个基类 `Shape`,其中包含一个纯虚函数 `area()`,实现了多态性和代码的灵活性。该设计使得派生类能够根据具体的形状计算面积,从而提高了代码的可扩展性和复用性。示例代码展示了如何利用纯虚函数实现这一机制。 ... [详细]
  • 本题要求计算一组正整数的最小公倍数(LCM)。输入包括多组测试数据,每组数据首先给出一个正整数n,随后是n个正整数。 ... [详细]
  • UVa 1579 - 套娃问题
    本题主要涉及动态规划(DP)的应用,通过计算将前i个套娃合并成多个套娃组所需的最小操作次数来解决问题。具体来说,f(i) 表示前i个套娃合并成多个套娃组所需的操作次数,其计算公式为 f(i) = min(f(j) + dp(j+1, i))。 ... [详细]
author-avatar
书友47721235_104
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有