zoukankan      html  css  js  c++  java
  • 2020.7.10

    一、今日学习内容:

    3.1和3.2的比较值机器数字排序。

    (1)比较值:比如在比较最大值的时候,可以使用for循环,也可以使用另一种方法,在遍历的过程中 使用两两相邻比较的方式找出最大值。最小值同理。

    (2)排序:

    冒泡排序:

    选择排序:

    插入排序:

    快速排序:(代码实现)

    public class QuickSort {
    public static void main(String[] args) {
    // 快速排序
    int[] arrays = {-1,9,-1,3,0};
    arrays = quicksort(0, arrays.length-1, arrays);
    for (int i : arrays) {
    System.out.print(i + " ");
    }
    }
    public static int[] quicksort(int i, int j, int[] arrays) {
    if (i >= arrays.length) {
    return arrays;
    }
    int base = arrays[i];// 基准值
    for (; j > i; j--) {
    if (arrays[j] < base) {// 出现基准数右边的数比基准数小
    for (int k = i;; k++) {
    if (k == j) {
    int temp = arrays[j];
    arrays[j] = base;
    arrays[i] = temp;
    // 对所有比基准数小的数快速排序
    quicksort(j + 1, arrays.length-1, arrays);
    // 对所有比基准数大的数快速排序
    quicksort(i, j, arrays);
    return arrays;


    } else if (arrays[k] > base) {//出现基准数左边的数比基准数大
    int temp = arrays[k];
    arrays[k] = arrays[j];
    arrays[j] = temp;
    break;
    }
    }

    }
    // 当基准数右边的数都比基准数大,对所有比基准数大的数快速排序
    return quicksort(i + 1, arrays.length-1, arrays);
    }
    }

    二、遇到的问题:

    插入排序在网站查阅的,快速排序不太明白,没搞懂。

    三、计划:

    明天继续学习3.3、3.4,阅读《大道至简》的前一部分。

  • 相关阅读:
    60)模板类去派生新的子类
    linux ssh搭建
    javascript学习6-练习之3二分查找算法
    javascript学习5-练习之2冒泡排序算法
    javascript学习4-练习之1转置矩阵
    javascript学习3-自定义函数
    计算机网络学习1-网络层次
    javascript学习-安全初探之沙箱
    html学习1-html5基础学习
    jquery学习之1.23-ajax使用
  • 原文地址:https://www.cnblogs.com/marr/p/13447904.html
Copyright © 2011-2022 走看看