排序

1、什么是排序?
就是将杂乱无章的数据按照某种格式进行排列的一种方式。
排序的目的是为了更好的、更快的搜索和查找数据。
2、排序的算法
就是怎样高效排列数据一种计算方法。
3、排序算法种类
3.1 冒泡排序
3.2 插入排序
3.3 选择排序
3.4 快速排序
4、冒泡排序的算法
反复对两个元素进行比较,如果这两个元素的顺序错误则进行交换。
原理:
1、比较相邻的元素,如果第一个比第二个大则交换它们两个
2、对每一对相邻的元素做同样的工作,从开始的一对到结尾的最后一对
3、针对所有的元素做同样的步骤,除了最后一个
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较了。
原理分析:
设待排序的数组a中有n个元素,冒泡排序要进行n-1趟,每趟循环均是从比较相邻的两个元素开始,一直到最后两个元素。
算符实现的描述
两个循环进行嵌套
外循环和内循环均是循环这个数组a。
int[] a = {6,2,4,1,5,9}
外循环
for 从0-5六个元素,索引为i
内循环
fro 从0-5六个元素,索引为j
外循环第一次
i=0,进入内循环j=0,内循环第一次
a[i]>a[j+1]true
a[i]=a[j+1];<---交换两个元素的位置
内循环第二次
a[i+1]>a[j+1]true
a[i+1]=a[j+1];<---交换两个元素的位置
==========================
选择排序算法
算法原理:
1、从待排序的数组元素中选择值最小的或值最大的元素并将它与第一个元素进行交换
2、然后从不包括第一个位置的数组元素中选择最小的或最大的元素并将它与数组中第二个元素交换位置
3、重复前面的操作直到剩下一个元素为止。
===========================================
冒泡排序:
很简单的一种经典排序算法。
但是普通情况下会有空循环的情况。
6个元素的数组来说
内循环会空跑12趟左右,外循环会空跑2趟左右
长度为6的数组,外循环每循环一次,内循环会循环6次
内外循环一共要循环6*6=36次。
=================================
当你从百度上找到你想要的代码时,不要马上拷贝到你的vs中执行。
而是要先观察理解代码的含义(思路),然后将代码复制到vs中,但是不要马上运行,事先需要整理代码。
当把代码整理好了后,再去运行。
因此就需要优化代码,提升效率。
=================================
插入排序
算法原理:
1、顺序的将待排序的元素按值的大小插入到已排序的元素子序列的适当位置
2、子序列的元素个数从1开始逐渐增大,当子序列的元素个数和数组中的元素个数相同时排序完成

posted @ 2020-06-22 11:50  玖仙  阅读(94)  评论(0)    收藏  举报