`
bitzsk
  • 浏览: 2266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

sort 排序

c 
阅读更多
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;
}

分享到:
评论

相关推荐

    sort排序用法大全与应用介绍

    《全面解析C++中的sort排序及其应用》 在C++编程中,排序是常见的操作,尤其是在处理大量数据时。幸运的是,C++标准库提供了一系列的排序算法,极大地简化了我们的工作。本文将深入探讨其中最常用的`sort`函数,...

    sort排序 结构体题解

    sort 排序结构体题解 sort 排序是 STL 库中的一个重要函数,它可以对数组、结构体、容器等进行排序。本文将对 sort 排序的使用、排序原理、cmp 函数的使用和结构体排序进行详细的讲解。 一、sort 函数 sort 函数...

    java sort排序算法实例完整代码

    Java中的`sort`排序算法是Java集合框架的重要组成部分,主要用于对List接口的实现类进行排序。这个算法在Java中主要体现在`java.util.Arrays`和`java.util.Collections`两个类中,提供了对数组和集合的排序功能。...

    Sort排序

    "Sort排序"这个主题涵盖了各种不同的排序算法,这些算法用于整理数组、链表或其他数据结构中的元素。排序可以应用于各种场景,如数据库索引、数据分析、优化搜索效率等。以下是一些重要的排序算法及其详细解释: 1....

    sort 排序算法大全

    `sort`通常是指编程语言中的排序函数,例如在C++中的`std::sort`,Python的`sorted`或Java的`Arrays.sort`等。本资源集合可能包含了多种排序算法的实现、分析以及比较,旨在帮助程序员深入理解和应用这些算法。 一...

    Sort排序代码

    Sort排序的代码详细解释 ,原创

    Sort排序用于CSV 文件数据归类(包括按数值、IP排序)2009-4-24,23:09

    该程序采用STL的sort排序函数,对CSV中的数据进行排序(排序时不包括首行(第0行)。可以按字符、数值和IP排序。排序方式还包括普通排序(整行作为一个参数进行比较)、将整行数据从指定列开始作为字符串起始按字符...

    FlashSort排序算法及实现

    FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现 FlashSort排序算法及实现

    sort排序(源代码)

    这里我们关注的是"sort排序"的源代码,这通常指的是一个实现特定排序算法的程序。"sort.m"可能是一个使用MATLAB编程语言编写的文件,而"readme.txt"则可能是提供关于该排序算法实现的说明或指南。 MATLAB是一种广泛...

    MongoDB的sort排序.pdf

    MongoDB的sort排序是数据库操作中的重要组成部分,它允许用户按照特定字段对查询结果进行升序或降序排列。在处理大量数据时,排序能够帮助我们快速获取有序的数据集,以便进行更有效的分析和展示。以下是对MongoDB ...

    sort排序.txt

    sort排序.txt

    sort 排序:sort函数从大到小排序的方法(C++实现)

    ### C++中的sort函数从大到小排序方法详解 在C++编程语言中,`sort`函数是一个非常强大的工具,可以用来对数组或容器中的元素进行排序。它位于`&lt;algorithm&gt;`头文件中,能够根据不同的需求灵活地对数据进行升序或...

    C++实现shellSort排序.rar

    C++实现shellSort排序.rar

    C++实现selectionSort排序.rar

    C++实现selectionSort排序.rar

    数据结构 sort 排序的实现

    **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过不断交换相邻的逆序元素来逐步将序列排序。其主要步骤包括遍历数组,比较每对相邻元素,如果它们的顺序错误就交换它们。这个过程会重复进行,直到...

    QT-QabstractTableModel模型、重写sort方法排序

    在标题提到的"QT-QabstractTableModel模型、重写sort方法排序"中,我们关注的重点是如何利用`QAbstractTableModel`来实现自定义排序功能。`sort`方法是`QAbstractItemModel`的一部分,它允许对模型中的数据进行排序...

    sort排序1

    正如标题“sort排序1”和描述中所提及的,`sort()`方法可以根据一个或多个键(key)进行排序,可以是升序(1)或降序(-1)。 基本语法为: ```javascript db.collection_name.find().sort({key1: order1, key2: order2, ...

    C#使用sort方法对数组进行快速排序

    在C#编程语言中,`Sort`方法是一个非常重要的功能,它被广泛应用于对各种数据结构,如数组、列表等进行排序。这个方法是通过.NET框架中的`System.Collections.Generic`命名空间下的`List&lt;T&gt;`类提供的,同时也存在于`...

    STL_Sort 排序的资料

    STL中的`sort`函数是C++标准模板库(Standard Template Library)中一个非常重要的排序工具,它位于 `&lt;algorithm&gt;` 头文件内。这个函数提供了一种高效且灵活的方式来对容器内的元素进行排序,比如数组、向量或列表。...

    SORT 排序详解 很有用

    所有sort算法介绍 sort 中的比较函数 sort 的稳定性 …………

Global site tag (gtag.js) - Google Analytics