最近想练一练Java的算法,然后碰到LeetCode上一道从排序数组删除重复项的小题,刚开始没看到是从排序数组中,就乱写,其实要是排序树组,就比乱序的感觉上好写多了。然后就想回顾下冒泡法对数组排序,凭感觉写的,写到最后成了选择排序……呃……

简单对冒泡法和选择排序法介绍一下。

冒泡法是两两比较,两两交换,逐渐的把最大的弄到最后(最前),最小的弄到最前(最后)。网上有很多例子。

而选择排序法是每次都选出最小的放到最前(最后),然后再从剩下的数里面选出里面最小的再放到第二位(倒数第二位)。

 public class Solution {
public static void main(String[] args) {
int[] nums = {10, 12, 6, 4, 8, 3, 7, 23, 65, 12};
for (int i = 0; i < nums.length; i++) { //第一个for循环
int n = nums[i], a = i, change; //定义第二个for循环需要用的东西
for (int j = i; j < nums.length - 1; j++) { //每次都让j=i,想要做的是在第i个以及以后选择最小的放到第i位
if (nums[j + 1] < n) { //如果下一个比n小,就让n等于下一个,for循环结束时n就是最小的
n = nums[j + 1];
}
for (int x = 0; x < nums.length; x++) { //这个for循环的作用是找到最小的那一位数并用a记录
if (n == nums[x]) {
a = x;
}
} //内for结束
} //外for结束
change = nums[i]; //把最小的和第一位交换
nums[i] = nums[a];
nums[a] = change;
}
for (int x : nums) { //foreach输出数组
System.out.print(" " + x);
} }
}

可能我潜意识里就觉得选择排序法思路更清晰一些吧……好像执行速度还挺短的,以后也会多进行这样的小练习。

最新文章

  1. HDU5937 Equation(DFS + 剪枝)
  2. TortoiseSVN 中 一个 Merge revisions to.. 小坑
  3. 使用 Composer 为 ThinkPHP(3.2.3)框架添加和管理组件
  4. rabbitMQ publish丢包分析
  5. [zz]计算 协方差矩阵
  6. SecureCRT自动备份脚本-华为
  7. Android开发常用代码片段
  8. Android开发经验记录
  9. windows系统 安装MongoDB 32位
  10. MySQL协议简单分析
  11. bootstrap插件学习-bootstrap.modal.js
  12. [SinGuLaRiTy] 2017-03-30 综合性测试
  13. [LeetCode] Most Frequent Subtree Sum 出现频率最高的子树和
  14. centos 桌面没有有线设置,不能上网
  15. Flume+Kafka+Storm+Hbase+HDSF+Poi整合
  16. Holedox Eating HDU - 4302 2012多校C 二分查找+树状数组/线段树优化
  17. 目标检测-yolo
  18. BZOJ.2437.[NOI2011]兔兔与蛋蛋游戏(二分图博弈 匈牙利)
  19. Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)
  20. CUDA C Programming Guide 在线教程学习笔记 Part 8

热门文章

  1. 论文阅读计划2(Deep Joint Rain Detection and Removal from a Single Image)
  2. 《译文》借助OCR和神经网络,用JavaScript识别验证码
  3. Rendering in Delphi using TCanvas (FMX)
  4. CSS3 Generator提供了13个CSS3较为常用的属性代码生成工具,而且可以通过这款工具除了在线生成效果代码之外,还可以实时看到你修改的效果,以及浏览器的兼容性。
  5. Qt中加载Libevent静态库(通过reimp和rs两条语句将lib转为a)
  6. logstash performance testing
  7. [2017.02.13] linux平台下统计C++项目文件个数和代码行数
  8. python的内存分配
  9. 解决Nextcloud 无法删除目录
  10. 简单学习js