![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
过客璇璇
有眼界才有境界,有实力才有魅力,有思路才有出路,有作为才有地位。政从正来,智从知来,财从才来,位从为来!
展开
-
考研学习之数据结构排序算法学习
一.直接插入排序1.1代码#include <stdio.h> /** 直接插入排序 */void insertSort(int A[],int n){ int i,j; //依次将A[2]~A[n] 插入到前面已排序的序列中 for(i=2;i<=n;i++){ //若 A[i]关键码小于前去,将A[i]插入有序表 if(A[i]<A[i-1]){ A[0] = A[i];//复制哨兵,A[0]不存放元素 //从后往前寻找待插入的位原创 2020-10-18 12:52:56 · 280 阅读 · 0 评论 -
java实现归并排序
思路:将两个或两个以上的有序序列合并成一个有序序列代码如下:public class MergeS { private static void merge(int r[],int r1[],int s,int m,int t){ int i=s,j=m+1,k=s; while(i<=m&&j<=t){ if(r[i]<=r[j]){ ...原创 2019-11-07 14:27:28 · 100 阅读 · 0 评论 -
java实现堆排序
public class Heap { private static int leftChild(int i){ return 2*i+1; } private static void perc(int[] a,int i,int n){ //调整堆的方法 int child; int temp; for(temp=a[i];leftChild(i)<n;i=ch...原创 2019-11-07 14:17:20 · 102 阅读 · 0 评论 -
java实现插入排序
思路:每次将一个待排序的元素按其关键码的大小插入到一个已经排好序的有序序列中,直到全部元素排好序代码:public class Insert { public static void main(String[] args) { int r[]={49,27,65,97,76,13,38,5,12,56}; //给出原始数的序列 int i,j,temp,k; ...原创 2019-11-07 14:13:46 · 111 阅读 · 0 评论 -
java实现选择排序
思路:选择排序是一种借助“选择”进行排序的方法,其主要思想是:每趟排序在当前待排序序列中选出最小的元素,添加到有序序列中。选择排序比较独特的地方时:元素的移动次数少在实现选择排序时,第一将整个元素序列划分为有序区和无序区,初始状态有序区为空,无序区包含所有待排序的元素;第二对无序区的比较,将使关键码小的元素与无序区的第一个元素进行交换,一直重复以上操作,直到无序区只剩下一个元素。代码如下:...原创 2019-11-07 14:04:07 · 377 阅读 · 0 评论 -
java实现快速排序算法
快排基本思想:首先选定一个轴值(就是比较的基准)将待排序的记录划分为两个独立的部分,左侧记录的关键码都是小于基准或等于轴值得,右侧记录的关键码都是大于或等于轴值,然后再针对这两部分分别重复上述过程首先实现快排一次划分的关键代码:public class Parti { public int partition(int[] r,int first,int end){ int i,j;...原创 2019-11-06 15:42:41 · 137 阅读 · 0 评论 -
数学结构学习之冒泡排序(含C++代码)
1.数学结构学习之冒泡排序(含C++代码)1.1 原理 对于一个未排序的序列,从前向后依次检查每一对相邻元素,一旦发现逆序即交换二者的位置。对于长度为n的序列,共需做n - 1 次比较和不超过n - 1次交换。交换过程的原理如下图: 多数的 这类交换操作,都会使得越小(大)的元素朝上(下)方移动,直至它们抵达各 自应处的位置。 排序过程中,所有元素朝各自最终...原创 2019-09-13 11:44:33 · 860 阅读 · 0 评论 -
数据结构学习之基数排序(含C++代码)
1.数据结构学习之基数排序(含C++代码)1.1.概念 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取...原创 2019-10-08 09:19:31 · 1498 阅读 · 0 评论