selection sort:
void selectionSort(int arr[], int n) {
int i, j, minIndex, tmp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
if (minIndex != i) {
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
quick sort:
ref:http://www.algolist.net/Algorithms/Sorting/Quicksort
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int tmp;
int pivot = arr[(left + right) / 2];
/* partition */
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
};
/* recursion */
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
bubble sort:
void bubbleSort(int numbers[], int array_size)
{
int i, j, temp;
for (i = 1; i < array_size; i++)
{
for (j = 0; j < array_size - i; j++)
{
if (numbers[j] > numbers[j+1])
{
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
}
merge sort:
public int[] msort(int[] a) {
if (a.Length > 1) {
int min = a.Length / 2;
int max = min;
int[] b = new int[min];
int[] c = new int[max]; // dividing main array into two half arrays
for (int i = 0; i < min; i++) {
b[i] = a[i];
}
for (int i = min; i < min + max; i++) {
c[i - min] = a[i];
}
b = msort(b);
c = msort(c);
int x = 0;
int y = 0;
int z = 0;
while (b.Length != y && c.Length != z) {
if (b[y] < c[z]) {
a[x] = b[y];
//r--
x++;
y++;
} else {
a[x] = c[z];
x++;
z++;
}
}
while (b.Length != y) {
a[x] = b[y];
x++;
y++;
}
while (c.Length != z) {
a[x] = c[z];
x++;
z++;
}
}
return a;
}
分享到:
相关推荐
《全面解析C++中的sort排序及其应用》 在C++编程中,排序是常见的操作,尤其是在处理大量数据时。幸运的是,C++标准库提供了一系列的排序算法,极大地简化了我们的工作。本文将深入探讨其中最常用的`sort`函数,...
sort 排序结构体题解 sort 排序是 STL 库中的一个重要函数,它可以对数组、结构体、容器等进行排序。本文将对 sort 排序的使用、排序原理、cmp 函数的使用和结构体排序进行详细的讲解。 一、sort 函数 sort 函数...
Java中的`sort`排序算法是Java集合框架的重要组成部分,主要用于对List接口的实现类进行排序。这个算法在Java中主要体现在`java.util.Arrays`和`java.util.Collections`两个类中,提供了对数组和集合的排序功能。...
"Sort排序"这个主题涵盖了各种不同的排序算法,这些算法用于整理数组、链表或其他数据结构中的元素。排序可以应用于各种场景,如数据库索引、数据分析、优化搜索效率等。以下是一些重要的排序算法及其详细解释: 1....
`sort`通常是指编程语言中的排序函数,例如在C++中的`std::sort`,Python的`sorted`或Java的`Arrays.sort`等。本资源集合可能包含了多种排序算法的实现、分析以及比较,旨在帮助程序员深入理解和应用这些算法。 一...
Sort排序的代码详细解释 ,原创
该程序采用STL的sort排序函数,对CSV中的数据进行排序(排序时不包括首行(第0行)。可以按字符、数值和IP排序。排序方式还包括普通排序(整行作为一个参数进行比较)、将整行数据从指定列开始作为字符串起始按字符...
FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现
这里我们关注的是"sort排序"的源代码,这通常指的是一个实现特定排序算法的程序。"sort.m"可能是一个使用MATLAB编程语言编写的文件,而"readme.txt"则可能是提供关于该排序算法实现的说明或指南。 MATLAB是一种广泛...
MongoDB的sort排序是数据库操作中的重要组成部分,它允许用户按照特定字段对查询结果进行升序或降序排列。在处理大量数据时,排序能够帮助我们快速获取有序的数据集,以便进行更有效的分析和展示。以下是对MongoDB ...
sort排序.txt
### C++中的sort函数从大到小排序方法详解 在C++编程语言中,`sort`函数是一个非常强大的工具,可以用来对数组或容器中的元素进行排序。它位于`<algorithm>`头文件中,能够根据不同的需求灵活地对数据进行升序或...
C++实现shellSort排序.rar
C++实现selectionSort排序.rar
**冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过不断交换相邻的逆序元素来逐步将序列排序。其主要步骤包括遍历数组,比较每对相邻元素,如果它们的顺序错误就交换它们。这个过程会重复进行,直到...
在标题提到的"QT-QabstractTableModel模型、重写sort方法排序"中,我们关注的重点是如何利用`QAbstractTableModel`来实现自定义排序功能。`sort`方法是`QAbstractItemModel`的一部分,它允许对模型中的数据进行排序...
正如标题“sort排序1”和描述中所提及的,`sort()`方法可以根据一个或多个键(key)进行排序,可以是升序(1)或降序(-1)。 基本语法为: ```javascript db.collection_name.find().sort({key1: order1, key2: order2, ...
在C#编程语言中,`Sort`方法是一个非常重要的功能,它被广泛应用于对各种数据结构,如数组、列表等进行排序。这个方法是通过.NET框架中的`System.Collections.Generic`命名空间下的`List<T>`类提供的,同时也存在于`...
STL中的`sort`函数是C++标准模板库(Standard Template Library)中一个非常重要的排序工具,它位于 `<algorithm>` 头文件内。这个函数提供了一种高效且灵活的方式来对容器内的元素进行排序,比如数组、向量或列表。...
所有sort算法介绍 sort 中的比较函数 sort 的稳定性 …………