`
xurichusheng
  • 浏览: 346204 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Vector排序

阅读更多

 

1. Vector 默认按元素的添加顺序排序

import java.util.Vector;

public class TestVector {
  
    public static void main(String[] args) {

        Vector<Integer> e = new Vector<Integer>(10);
        
        e.add(33);
        e.add(2);
        e.add(3);
        e.add(5);
        e.add(1);
        e.add(1);
        e.add(0);
        e.add(10);
        
        for (Integer elem: e) {
            System.out.println(elem);
        }
    }
}

 运行结果

33
2
3
5
1
1
0
10

 

2. 按升序排序

   2.1 要排序的对象     

public class Elem {

    private int val;
    
    public Elem(int val) {
        this.val = val;
    }
    
    public int getVal() {
        return val;
    }
}

    2.2 排序    

import java.util.Comparator;

public class ElemCompare implements Comparator<Elem> {

    @Override
    public int compare(Elem o1, Elem o2) {

        /*升序*/
        
        if (o1.getVal() < o2.getVal()) {
            return -1;
        } else if (o1.getVal() > o2.getVal()) {
            return 1;
        }
        
        return 0;
    }
}

   2.3 测试    

import java.util.Collections;
import java.util.Vector;

public class TestVector {

    public static void main(String[] args) {

        Vector<Elem> e = new Vector<Elem>(10);
        
        e.add(new Elem(33));
        e.add(new Elem(2));
        e.add(new Elem(3));
        e.add(new Elem(5));
        e.add(new Elem(1));
        e.add(new Elem(1));
        e.add(new Elem(0));
        e.add(new Elem(10));
        
        Collections.sort(e, new ElemCompare());
        
        for (Elem elem: e) {
            System.out.println(elem.getVal());
        }
    }
}

    2.4 运行结果

     

0
1
1
2
3
5
10
33

 

 

分享到:
评论

相关推荐

    STL使用_Vector排序

    在“STL使用_Vector排序”这个项目中,开发者使用VC++(Visual C++)创建了一个控制台应用程序,目的是演示如何对`vector`对象进行排序。`vector`中的元素可能是任意类型,包括基本类型如整数或浮点数,也可能是...

    vector 排序

    在C++中对`vector`容器进行排序是一个常见的操作需求,尤其当`vector`中存储的是自定义数据类型(如结构体或类)时,排序的实现方式可能会变得稍微复杂一些。本文将详细介绍如何对存储自定义类型的`vector`进行升序...

    std::vector排序详解

    本文将深入探讨`std::vector`的排序功能,包括如何使用内置的排序算法以及如何自定义比较函数。 `std::sort`是C++标准库中的一个函数,用于对范围内的元素进行排序。当应用于`std::vector`时,它可以有效地对向量的...

    单例模板类+vector排序

    本话题将深入探讨如何结合单例模式和模板类来实现一个管理vector中结构体数据并进行排序的系统。 首先,让我们理解单例模式的基本概念。单例模式确保无论何时,当你需要获取类的实例时,总是返回同一个对象。在C++...

    排序

    《C++标准库中的&lt;vector&gt;排序详解》 在C++编程中,容器是管理对象集合的重要工具,其中&lt;vector&gt;作为最常用的序列容器之一,提供了高效、灵活的数据存储和操作方式。本文将深入探讨如何对&lt;vector&gt;进行排序,帮助...

    最快的排序算法 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法,排序算法数据结构

    本文将详细介绍`std::sort`的使用,包括基本的vector排序和自定义比较函数对结构体排序。 首先,`std::sort`函数通常用于排序容器(如vector)中的元素。在C++中,需要包含`&lt;algorithm&gt;`头文件来使用这个函数。以下...

    数字和字符排序(C++语言编写)

    // 对vector排序 ``` 对于字符串排序,`sort()`函数同样适用,但需要确保字符串是可以比较的。C++中的字符串是`std::string`类型,它已经定义了比较操作符,因此可以直接排序: ```cpp std::string strArray[] = ...

    vector中的排序的源代码资源

    `vector`可以方便地存储、访问和操作元素,包括对元素进行排序。这里我们将深入探讨`vector`的排序相关的知识点。 首先,`vector`的排序通常使用`std::sort`函数,它位于`&lt;algorithm&gt;`头文件中。`std::sort`接受三...

    VC++中vector的使用方法及其元素随机

    该资源在VS2008 SP1 IDE中实现,主要功能是介绍VC++中vector的使用方法,包括vector的定义、写入数据、读取数据、清空数据以及如何将vector中的数据元素进行随机打乱顺序等。将对你掌握vector的使用起到巨大的帮助。...

    快速排序(使用vector,getline)

    对一组数据进行快速排序,使用vector进行存储数据,动态数组,需要创建一个txt文本,逐行读取getline的经典应用

    程序设计艺术与方法.pdf

    最后,我们使用泛型算法sort将vector排序,并输出其中的元素值。 2. list容器类 list容器类是一种双向链表,能够快速地插入和删除元素。list容器类也可以用于存储任何类型的元素。 在实验中,我们定义了一个list...

    程序设计艺术与方法.doc

    最后,我们使用泛型算法 sort 将 vector 排序,并输出其中的元素值。 算法类的使用 在实验中,我们还学习了如何使用泛型算法来实现各种操作。我们定义了一个 vector,并使用 sort 算法将其排序,然后输出每个元素...

    数组排序练习 vector

    从文件读一个数字数组,排序,反序,统计出现次数

    插入排序的C++实现

    最后,我们在`main`函数中创建了一个未排序的`vector`,调用`insertion_sort`进行排序,并输出排序后的结果。 ### 插入排序的时间复杂度和空间复杂度: - **时间复杂度**:最好的情况是输入已经排序,此时时间...

    C++ Vector使用方法

    C++中的`std::vector`是一个非常重要的标准模板库(STL)容器,它提供了一种动态数组的功能。在C++编程中,`vector`经常用于处理动态大小的序列数据,其内部存储空间是连续的,这使得随机访问元素非常高效。下面我们将...

    vector详细用法

    // 排序 std::reverse(v.begin(), v.end()); // 反转 ``` ##### 3. 内存管理 Vector在内部会自动管理内存,包括分配和释放。但在某些情况下,可能需要手动控制内存的分配和释放。`get_allocator`成员函数可以获取...

    C++笔记、常用函数、STL

    // 对vector排序 int target = 7; if (std::find(numbers.begin(), numbers.end(), target) != numbers.end()) { std::cout 找到了目标元素" ; } else { std::cout 未找到目标元素" ; } return 0; } ``` 总...

    使用C++标准库Vector容器实现词频统计与排序

    使用C++标准库中的Vector容器实现词频统计与排序

Global site tag (gtag.js) - Google Analytics