import java.util.Arrays;
import java.util.Comparator;
public class 用泛型对数组进行排序 {
/**
* @param args
*/
public static void main(String[] args) {
Integer [] num = { 2, 1, 5, 3, 6,4, 9, 8 };
bubbleSort(num,new Comparator<Integer>(){
public int compare(Integer x, Integer y) {
return x - y;
}
});
System.out.println(Arrays.toString(num));
}
public static<T> void bubbleSort(T[]arr,Comparator<T>comp){
for (int i =arr.length-1;i>0; i--) {
for (int j = 0; j <i; j++) {
if(comp.compare(arr[j], arr[j+1])>0){
T temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
}
分享到:
相关推荐
函数模板对数组冒泡排序是对线性表的部分操作,通过使用函数模板来实现数组的冒泡排序。下面是对标题、描述、标签和部分内容的知识点解释: 1. 函数模板的定义:在C++中,函数模板是一种泛型编程技术,可以根据不同...
在C#编程语言中,`Array.Sort()`方法是用于对数组进行排序的关键工具。这个方法提供了对数组元素的快速、高效排序,适用于多种数据类型,包括整型、浮点型、字符串以及自定义对象。本篇文章将深入探讨`Array.Sort()`...
算法的实现过程中使用了一个循环来对数组进行排序,每次循环中使用了递减的增量来缩小排序范围。在main方法中,我们可以看到对数组的排序过程,首先输出原始数组,再对其进行排序,然后输出排序后的数组。 在实现中...
6. Stream API:Java 8引入的Stream API允许对数组进行函数式操作,如过滤、映射和收集。例如,`int sum = Arrays.stream(numbers).sum();` 计算数组所有元素的和。 7. var关键字:Java 10引入了var关键字,可以在...
在Java 5.0之前,我们通常使用`Arrays.sort()`方法来对数组进行排序,但该方法的功能相对有限。Java 5.0中,`java.util.Arrays`类和`java.util.Collections`类都得到了升级,提供了更强大的排序功能。 一、Java 5.0...
函数功能:对数组中的某一部分进行冒泡排序。 在上面的代码中,我们可以看到冒泡排序算法的C++函数模板的实现。这个函数模板可以适用于多种数据类型,如int、float、double等。 在 main 函数中,我们可以看到如何...
它依次调用`shellInsert`函数,使用不同的间隔值对数组进行排序。 ```cpp void shellSort(int *a, int len, int *dk, int dlen) { for (int i = 0; i ; i++) { shellInsert(a, dk[i], len); } } ``` 3. **...
由于`Array.Sort`默认按照升序排序,如果需要降序排序,我们将在排序后使用`Array.Reverse`对数组进行反转。 最后,创建一个新的`Dictionary, Single>`实例,遍历排序后的键数组,将排序后的键值对添加到新字典中。...
这个模板类可能包含了构造函数、析构函数、成员函数(如sort())等,其中sort()函数可能是实现排序的核心部分,它会先调用希尔排序对数组进行初步排序,然后利用归并排序进行最终的排序,以达到更快的排序速度和更好...
ArrayList类是一个动态数组,对数组进行了封装,实现了长度可变的数组。ArrayList可以添加任何类型的数据,添加的数据都将转换成Object类型。ArrayList的优点是遍历元素和随机访问元素的效率高,但不适合在数据频繁...
本文将详细探讨“Java新特性对数组的支持”,并结合李兴华在北京魔乐的讲解,以及具体的代码示例,来深入理解这些变化。 在Java 5及以后的版本中,数组得到了显著的增强,主要体现在以下几个方面: 1. **泛型数组*...
在 PersonText 类中,我们创建了一个 Person 对象数组,并使用 Arrays.sort() 方法对数组进行排序。最后,我们使用 Syste.out.println() 方法输出排序后的结果。 通过本次实验,我们掌握了 Java 语言中的接口和实现...
这个算法在Java中主要体现在`java.util.Arrays`和`java.util.Collections`两个类中,提供了对数组和集合的排序功能。下面我们将深入探讨`sort`排序算法的工作原理、性能分析以及实际应用示例。 ### 1. `Arrays.sort...
在实际开发中,我们经常需要对数组中的元素进行各种操作,其中之一就是排序。本篇文章将详细探讨C#中实现数组的随机排序的方法,以及相关的编程技巧。 随机排序不同于常见的升序或降序排序,它是指数组中的元素被...
// 对数组排序 std::vector<int> vec = {3, 7, 1, 8, 2}; std::sort(vec.begin(), vec.end()); // 对vector排序 ``` 对于字符串排序,`sort()`函数同样适用,但需要确保字符串是可以比较的。C++中的字符串是`std:...
例如,下面的代码定义了一个函数,用于对数组进行排序: ```csharp void SortArray(int[] arr) { // 对数组arr进行排序的代码 } ``` 调用此函数时,排序会直接影响到原始数组: ```csharp int[] numbers ...
在这些代码中,开发者可能会展示如何创建和操作`List<T>`,以及如何使用`Array.Sort()`对数组进行排序。 通过学习和理解这些源码,你可以更深入地了解`Collections`数据结构的灵活性,以及`Array.Sort()`方法的用法...
Java提供了`Arrays.sort()`方法来对数组进行排序: 1. 对于基本类型数组,如整数数组,可以直接调用`Arrays.sort(int[])`: ```java int[] arr = {5, 2, 8, 1, 9}; Arrays.sort(arr); ``` 2. 对于对象数组,`...
Array类的方法如`Copy`用于复制数组的部分或全部,`Sort`用于对数组元素进行排序。 ArrayList是.NET Framework早期版本中的动态数组,它可以自动调整大小以适应存储更多的元素。尽管ArrayList可以存储任何类型的...