首页 > 编程语言 >datastructure与算法 orderedPair

datastructure与算法 orderedPair

时间:2024-09-12 21:53:13浏览次数:3  
标签:set return second 算法 datastructure entry end orderedPair public

/**

   An interface that describes the operations of a set of objects.

   @author Charles Hoot, Frank M. Carrano

   @version 4.0

*/

public interface SetInterface<T>

{

    /** Gets the current number of entries in this set.

       @return  The integer number of entries currently in the set. */

    public int getCurrentSize();


    /** Sees whether this set is empty.

       @return  True if the set is empty, or false if not. */

    public boolean isEmpty();


    /** Adds a new entry to this set, avoiding duplicates.

        @param newEntry  The object to be added as a new entry.

        @return  True if the addition is successful, or

                false if the item already is in the set. */

    public boolean add(T newEntry);


    /** Removes a specific entry from this set, if possible.

       @param anEntry  The entry to be removed.

       @return  True if the removal was successful, or false if not. */

    public boolean remove(T anEntry);


    /** Removes one unspecified entry from this set, if possible.

       @return  Either the removed entry, if the removal was successful,

                or null. */

    public T remove();


    /** Removes all entries from this set. */

    public void clear();


    /** Tests whether this set contains a given entry.

        @param anEntry  The entry to locate.

        @return  True if the set contains anEntry, or false if not .*/

    public boolean contains(T anEntry);


    /** Retrieves all entries that are in this set.

         @return  A newly allocated array of all the entries in the set. */

    public T[] toArray();

} // end SetInterface

/**
    An interface for pairs of objects.
    @author Frank M. Carrano
    @varsion 4.0
*/
public interface Pairable<T>
{
   public T getFirst();
   public T getSecond();
   public void changeOrder();
} // end Pairable


/**
   A class of ordered pairs of objects having the same data type.
   
   @author Frank M. Carrano
   @version 4.0
*/
public class OrderedPair<T> implements Pairable<T>
{
  private T first, second;
  
  public OrderedPair()
  {
  } // end default constructor
  
   public OrderedPair(T firstItem, T secondItem)
   { 
      first = firstItem;
      second = secondItem;
   } // end constructor
   
   /** Returns the first object in this pair. */
   public T getFirst()
   {
      return first;
   } // end getFirst
   
   /** Returns the second object in this pair. */
   public T getSecond()
   {
      return second;
   } // end getSecond
   
   /** Returns a string representation of this pair. */
   public String toString()
   {
      return "(" + first + ", " + second + ")";
   } // end toString
   
   /** Interchanges the objects in this pair. */
   public void changeOrder()
   {
      T temp = first;
      first = second;
      second = temp;
   } // changeOrder
} // end OrderedPair




标签:set,return,second,算法,datastructure,entry,end,orderedPair,public
From: https://blog.51cto.com/u_15892225/11993600

相关文章

  • 数据结构与算法chapter-0
    /**Aninterfaceformethodsthatreturntheperimeterandareaofanobject.@[email protected]*/publicinterfaceMeasurable{/**Getstheperimeter.@returnTheperimeter.*/publicdoublegetPerimeter()......
  • 图论篇--代码随想录算法训练营第五十七天打卡| 最小生成树问题
    题目链接:53.寻宝(第七期模拟笔试)题目描述:在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将所有岛屿联通起来(注意:这......
  • 985硕士,最近投了100多份大模型算法岗,没下文...
    我是丁师兄,专注于智能驾驶方向大模型落地,公众号:丁师兄大模型。大模型1v1学习,已帮助多名同学上岸国内外大厂今天给大家分享一下,从面试官的视角看,什么样的简历算一份优质的简历?以及如何快速把简历改好。为什么想讲这个呢?因为最近我也在集中面试嘛,看了N多份简历,大部分人的......
  • 图像处理-边缘检测算法的原理和实现
    概述边缘检测是图像处理中的一项重要任务,其原理是基于图像的梯度计算。梯度是函数的变化速率,图像中的边缘意味着像素灰度值的快速变化。常用的边缘检测算法有Sobel算子、Prewitt算子、Laplacian算子、Canny算子等。Sobel算子(滤波器)Sobel滤波器通过使用两个3x3卷积核(也称为掩......
  • NGINX的漏桶算法限流与gateway的令牌桶算法限流
    简单来讲漏桶算法与令牌桶算法的区别漏桶算法是指请求会打入到一个“桶”中,桶会以一定速率将请求递交下去。当请求过多的时候,桶内会积累请求等待递交;当请求积累超过桶的大小时,请求就会向水满的桶一样溢出(被桶抛弃)令牌桶算法是指桶会以固定的速率生成令牌并存入桶中,桶满后会暂停......
  • 安防监控视频平台LntonAIServer对比度检测算法:提升视频监控质量的关键
    LntonAIServer对比度检测算法是安防监控视频平台中的一种高级功能,用于确保视频图像质量的一致性和清晰度。以下是对这一算法的详细分析:1.算法定义与重要性 -定义:对比度检测算法用于评估图像各部分之间的差异程度。 -重要性:对比度对于视频内容的清晰度和细节表现至关重......
  • Python 和 Go 实现 AES 加密算法的技术详解
    AES(AdvancedEncryptionStandard,高级加密标准)是一种对称密钥加密算法,广泛应用于各种安全通信场景中。AES使用128、192或256位的密钥,能够提供不同级别的安全性。本文将详细讲解如何使用Python和Go来实现AES加密算法,提供代码示例并对其进行逐步解析。1.什么是AES加密......
  • 文心一言 VS 讯飞星火 VS chatgpt (345)-- 算法导论23.2 4题
    四、假定图中的边权重全部为整数,且在范围内。在此种情况下,Kruskal算法最快能多快?如果边的权重取值范围在1到某个常数之间呢?如果要写代码,请用go语言。文心一言:首先,我们探讨Kruskal算法在不同条件下的性能表现,并给出基于Go语言的实现。1.当边权重全部在范围内时在这种情况下,边的权重......
  • Yolo第Y1周:详解YOLO检测算法的训练参数
    目录Yolo第Y1周:详解YOLO检测算法的训练参数Yolo第Y1周:详解YOLO检测算法的训练参数......
  • Yolo第Y2周:如何正确解读YOLO算法训练结果的各项指标
    目录Yolo第Y2周:如何正确解读YOLO算法训练结果的各项指标weights文件夹:最终的仙丹results.png:训练总图要略loss系列:打明牌的能力box_loss边界框损失:衡量画框cls_loss分类损失:判断框里的物体dfl_loss分布式焦点损失:精益求精验证集:学得好,不一定考得好精度和召回率:又准又全的考量r......