数组排序算法

//冒泡算法   时间复杂度:O(n2) 空间复杂度:O(1)
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }

            }
        }

        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }

      //直接选择排序 时间复杂度:O(n2) 空间复杂度:O(1)
        for(int i=0;i<arr.length-1;i++){
            int min = i;
            for(int j=i;j<arr.length-1;j++){

                if(arr[min]>arr[j+1]){
                     min = j+1;
                }
            }
            if(i!=min){
            int temp = arr[i];
            arr[i] = arr[min];
            arr[min] = temp;
            }
        }
        for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"\t");
            }
时间: 2024-12-27 18:12:10

数组排序算法的相关文章

黑马程序员——C学习总结之数组排序算法实现

发表试试 黑马程序员--C学习总结之数组排序算法实现,布布扣,bubuko.com

js三种基础数组排序算法整理

数组排序,大概是每个程序员必须掌握的基本算法 ,作为一个刚入门的前端小卒,再被各种面试各种排序折磨过后 ,看过很多别人写的 算法 ,但看总归是理解的不是那么深刻 ,便想着自己整理一下这最基本的三个排序算法 ,希望对还在学习的你有些许帮助 .比较基本的三种算法 .冒泡.插入 .快速 . 首先来看冒泡排序法 ,基本原理其实就是对数组进行两层循环,外层循环控制次数,数组中有多少个成员,便是要进行多少次内层遍历,不断地将当前成员和下一成员进行对比 ,其实在群众偶其中有很多次是重复对比的 ,先看这样一个写

写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

下面代码没有认真看: <?php //二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order = 0) { if (!is_array($arr)) { return false; } $keysvalue = array(); foreach ($arr as $key => $val) { $keysvalue[$key] = $val[$keys]; } if ($

Java数组排序算法之直接选择排序

1.基本思想 直接选择排序的基本思想是将指定排序位置与其他数组元素分别对比,如果满足条件就交换元素值,注意这里区别冒泡排序,不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换. 与冒泡排序相比,直接选择排序的交换次数要少很多,因此速度更快些. 2.算法示例 每一趟从待排序的数组元素中选出最小(或最大)的一个元素,顺序的放在已排好序的数组元素前或后,直到全部待排序的数据元素排完. 例如有一个6个元素的数组[63 4 24 1 3 15],排序大致过程如下所述: 第1轮排序:63和15交换位

JAVA中的数组排序算法

1.各种排序图解: 代码实现 1 import java.util.Arrays; 2 3 public class ArraySort { 4 //选择排序 5 public static void slecteSort(int[] arr){ 6 System.out.println(Arrays.toString(arr)); 7 for(int i=0;i<arr.length;i++){ 8 int minIndex=i; 9 for(int j=i+1;j<arr.length;j

一些数组排序算法的简单实现(冒泡、插入、希尔、归并和qsort)

#include <stdlib.h> #include <string.h> #include "sort.h" //冒泡排序 int bubbleSort(int a[], int n) { int i, j; for (i=n-1; i>=0; i--) { for (j=0; j<i; j++) { if (a[j]>a[j+1]) {//交换a[i]和a[j],也可使用临时变量实现 a[j] += a[j+1]; a[j+1] = a

php常用的数组排序算法

<?php $b_a=array(10,5,9,19,32,61,17,31); ?> <h1>排序前</h1> <?php echo "<pre>"; print_r($b_a); echo "</pre>"; ?> <h1>冒泡排序法</h1> <?php //冒泡排序(一维数组) function bubble_sort($array){ $count = c

golang数组排序算法

冒泡排序 图 https://www.cnblogs.com/onepixel/articles/7674659.html package main import ( "fmt" ) func bubbleSort(slice []int) []int { for n := 0; n <= len(slice); n++ { for i := 1; i < len(slice)-n; i++ { if slice[i] < slice[i-1] { slice[i],

php算法整合

1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 function bubble_sort($array){    $count = count($array);    if ($count <= 0) return false;    for($i=0; $i<$count; $i++){        for($j=$count-1; $j>$i; $j–){            if ($array[$j] < $array[$j-1]){