冒泡排序(升序)
原理:
1.比较相邻的元素,如果第一个数大于第二个数,则交换位置,数值小的放在前,数值大的放在后。完成一次比较。
2.进行数对比较,每次都是比较两个数,(1,2),(2,3),(3,4)…直至最后一对数比较结束,完成一轮比较。其中1,2,3指数字的位置,比较时用当前位置上的数字比较。
3.下一轮比较时,上一轮中最后一位数不需参与比较。重复1,2直至完成排序。
java代码实现:
public void bobo(int[] a){
for (int i = 0;
i < a.length-1;
i++) {//需要进行比较的轮数
for (int j = 0;
j < a.length-1-i;
j++) {//每轮进行比较的次数
if (a[j]
【java实现冒泡排序和快速排序】快速排序(降序)
原理:
1.原数组首末位下标设置位low/lo,high/hi。当lo上的数字小于hi上的数字时,交换位置,同时,低位指针lo右移;否则,高位指针hi左移,当lo>=hi时,结束一轮交换。
2.以lo所指位置分为两段,lo-1,hi+1前一段[low,lo],后一段[hi,high],每段各自进行步骤1。
public void quick(int low,int high,int[] arr){//low:0,high:数组长度-1,arr目标数组
int lo=low,hi=high;
//lo 低位指针 high高位指针
if (lo>hi){
return;
}
boolean flag= false;
//控制指针变化
while(lo
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)