三种排序算法是在数组排序中用到比较多的,下面来具体说明各种排序方法以及区别 快速排序法 使用快速排序方法对a[n]排序 从a[n]中选择一个元素作为基准,一般选a[0],设定low指向a[0](队首),high指向a[n-1](队尾), 先从队尾开始向前扫描,若a[high]>a[0],则high+ ...
分类:
编程语言 时间:
2019-12-14 14:14:21
阅读次数:
91
1算法 排序 选择排序 冒泡排序 希尔排序2数据结构 数组 集合 队列 栈 先进后出 堆 (堆是一种经过排序的树形数据结构) 完全二叉树 平衡二叉树 红黑树 3设计模式 工厂模式 单例模式 代理模式 策略模式 (我理解的只有这几个) 迭代器模式 (工作中没有具体使用 只有粗略的使用到) 工厂模式:工 ...
分类:
其他好文 时间:
2019-12-13 23:23:48
阅读次数:
116
主键都相同,选择排序和插入排序谁快选择排序:比较N*(N-1)/2,交换0;插入排序:比较N-1,交换0;插入排序更 大专栏 algorithm-question快逆序数组,插入排序与选择排序选择排序:比较N(N-1)/2,交换N-1;插入排序:比较N(N-1)/2,交换N*(N-1)/2;插入排序... ...
分类:
其他好文 时间:
2019-12-12 01:04:34
阅读次数:
77
思路:每次找出数组中最大的数,放到后面。 1 #include<stdio.h> 2 3 int max_index(int a[], int len); 4 int main(void) 5 { 6 int a[] = { 2,45,6,12,87,34,90,24,23,11,65 }; 7 i ...
分类:
编程语言 时间:
2019-12-11 09:35:49
阅读次数:
79
//SelectSort 选择排序 func SelectSort(arr *[7]int) { for i := 0; i < len(arr); i++ { tmp := arr[i] index := i for j := i + 1; j < len(arr); j++ { if (*arr ...
分类:
编程语言 时间:
2019-12-10 16:49:20
阅读次数:
76
1. 选择排序 算法核心思想 选择排序的算法核心思想是从数组中选择最小的元素,放到第一个位置,再从数组中选择第二小的元素放到第二个位置,一直到数组的最后一个元素为止。具体逻辑如下: 选择数组的第一小的元素,将其放在第一个位置 选择数组的第二小的元素,将其放在第二个位置 。。。 选择数组的第三小的元素 ...
分类:
编程语言 时间:
2019-12-09 21:20:31
阅读次数:
102
基本思路 在每一次的排序中选出最小(或最大)的数,将其放在数组最前端,然后在后面的数中重复此步骤,最终达到排序的目的. 算法描述 将存于数组首位数与后面的数依次比较,将其中的较小的数放到数组放到数组首位 将除存于第二位的数视作首位,重复第一步的操作 以此类推 代码实现 这里以从小到大排序为例 算法分 ...
分类:
编程语言 时间:
2019-12-07 23:28:12
阅读次数:
128
C++sort()函数的用法 (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c+ ...
分类:
编程语言 时间:
2019-12-07 12:29:38
阅读次数:
95
package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className SelectSort * @date 2019/12/4 11:27 * @package com.rao.linkList * @D ...
分类:
编程语言 时间:
2019-12-04 13:00:33
阅读次数:
85
原文:https://www.cnblogs.com/xiaohuiduan/p/11188304.html 十大排序算法 基本排序算法: 选择排序 插入排序 冒泡排序 高效排序算法: 梳排序 希尔排序 快速排序 堆排序 牺牲空间节约时间的高效排序: 归并排序 基数排序 基数排序 下面我将以我自己的 ...
分类:
编程语言 时间:
2019-12-03 23:49:03
阅读次数:
141