热门标签 | 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;
}`

推荐阅读
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • KMP算法是处理字符串匹配的一种高效算法它首先用O(m)的时间对模板进行预处理,然后用O(n)的时间完成匹配。从渐进的意义上说,这样时间复 ... [详细]
  • 首先说一下,这是我在CSDN上的第一个文章,其实这个账号早在几年前就申请了,不过当时只是为了下载一个资源,而且也不怎么懂信息技术相关的领域,后来就再也没怎么动过,直到今天我才开始使用这个账号 ... [详细]
  • 本文探讨了一个在Mac Mavericks系统上使用Clang++成功编译但通过R CMD SHLIB构建并在R中加载时遇到‘符号未找到’错误的C++程序问题。文章详细分析了错误原因,并提供了有效的解决方案。 ... [详细]
  • 深入解析C++ Atomic编程中的内存顺序
    在多线程环境中,为了防止多个线程同时修改同一数据导致的竞争条件,通常会使用内核级同步对象,如事件、互斥锁和信号量等。然而,这些方法往往伴随着高昂的上下文切换成本。本文将探讨如何利用C++11中的原子操作和内存顺序来优化多线程编程,减少不必要的开销。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 二叉树的链表实现
    本文介绍了一种使用链表结构表示二叉树的方法。通过定义节点结构和相关操作函数,可以方便地创建、插入和遍历二叉树。 ... [详细]
  • 本文介绍了一种基于选择排序思想的高效排序方法——堆排序。通过使用堆数据结构,堆排序能够在每次查找最大元素时显著提高效率。文章详细描述了堆排序的工作原理,并提供了完整的C语言代码实现。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • HDU 2871 内存管理问题(线段树优化)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2871。本题涉及内存管理操作,包括重置、申请、释放和查询内存块。通过使用线段树进行高效管理和维护。 ... [详细]
  • 本问题探讨了一个经典的数字猜测游戏。玩家B需要通过一系列的猜测来确定玩家A心中所想的一个数字m,每次猜测后,A会给出反馈:'太高'、'太低'或'正确'。挑战在于计算B在给定次数n内能够准确猜测的最大数字。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • Android 6.0 切换指定 Wi-Fi 的解决方案
    本文详细介绍了在 Android 6.0 系统中切换到指定 Wi-Fi 的方法,包括常见的问题、原因分析及解决方案。通过官方文档和代码示例,帮助开发者更好地理解和实现这一功能。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 在使用Visual Studio构建项目时遇到了IntelliSense错误,具体表现为预期的')'未找到。本文提供了详细的解决方案和可能的原因分析。 ... [详细]
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社区 版权所有