1、冒泡排序

1)原理说明:反复遍历要排序的数列,一次比較两个元素,假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕。

2)代码实现:

package com.test.sort;

public class BubbleSort
{ public static void sort(int[] data)
{
for (int i = 0; i < data.length; i++)
{
for (int j = data.length - 1; j > i; j--)
{
if (data[j] < data[j - 1])
{
swap(data, j, j - 1);
}
}
}
} private static void swap(int[] data, int a, int b)
{
int temp = data[a];
data[a] = data[b];
data[b] = temp;
} public static void main(String[] args)
{
int[] data = new int[] { 3, 5, 55, 34, 67, 3, 78, 3423, 675, 4567 };
sort(data);
System.out.print("result is: {"); for (int temp : data)
{
System.out.print(temp + " ");
} System.out.print("}"); }
}

2、简单选择排序

1)原理说明:简单选择排序的基本思想很easy,即:第一趟,从n 个元素中找出keyword最小的元素与第一个元素交换;第二趟,在从第二个元素開始的n-1 个元素中再选出keyword最小的元素与第二个元素交换;如此,第k 趟,则从第k 个元素開始的n-k+1 个元素中选出keyword最小的元素与第k
个元素交换,直到整个序列按keyword有序。

2)代码实现:

package com.test.sort;

public class SelectSort
{ public static void sort(int[] data)
{
for (int i = 0; i < data.length; i++)
{
int index = i;
for (int j = data.length - 1; j > i; j--)
{
if (data[j] < data[index])
{
index = j;
}
} swap(data, i, index);
}
} private static void swap(int[] data, int a, int b)
{
int temp = data[a];
data[a] = data[b];
data[b] = temp;
} public static void main(String[] args)
{
int[] data = new int[] { 3, 5, 55, 34, 67, 3, 78, 3423, 675, 4567 };
sort(data);
System.out.print("Select sort result is: {"); for (int temp : data)
{
System.out.print(temp + " ");
} System.out.print("}"); } }

冒泡排序与简单选择排序——Java实现的更多相关文章

  1. Java学习笔记day07_琐碎知识_水仙花数_ASCII码_冒泡排序_简单选择排序_折半查找

    琐碎知识: 水仙花数, ASCII码, 冒泡排序, 简单选择排序, 折半查找 1.水仙花数 每位数的平方的和等于本身. 如100到999之间的水仙花数满足: 个位的平方+十位的平方+百位的平方 = 本 ...

  2. 常见排序算法总结:插入排序,希尔排序,冒泡排序,快速排序,简单选择排序以及java实现

    今天来总结一下常用的内部排序算法.内部排序算法们需要掌握的知识点大概有:算法的原理,算法的编码实现,算法的时空复杂度的计算和记忆,何时出现最差时间复杂度,以及是否稳定,何时不稳定. 首先来总结下常用内 ...

  3. 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)

    程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现) 程序员必知的8大排序(三)-------冒 ...

  4. JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  5. Java排序算法(二):简单选择排序

    [基本思想] 在要排序的一组数中.选出最小的一个数与第一个位置的数交换:然后在剩下的数中再找出最小的与第二个位置的数交换,如此循环至倒数第二个数和最后一个数比較为止. 算法关键:找到最小的那个数.并用 ...

  6. 排序系列 之 简单选择排序及其改进算法 —— Java实现

    简单选择排序算法: 基本思想: 在待排序数据中,选出最小的一个数与第一个位置的数交换:然后在剩下的数中选出最小的数与第二个数交换:依次类推,直至循环到只剩下两个数进行比较为止. 实例: 0.初始状态 ...

  7. 简单选择排序实现(Java)

    简单选择排序实现 简单选择排序就是通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i (1 ≤ i ≤ n)个记录交换. 代码实现: public class Selec ...

  8. 冒泡排序算法和简单选择排序算法的js实现

    之前已经介绍过冒泡排序算法和简单选择排序算法和原理,现在有Js实现. 冒泡排序算法 let dat=[5, 8, 10, 3, 2, 18, 17, 9]; function bubbleSort(d ...

  9. Python实现八大排序(基数排序、归并排序、堆排序、简单选择排序、直接插入排序、希尔排序、快速排序、冒泡排序)

    目录 八大排序 基数排序 归并排序 堆排序 简单选择排序 直接插入排序 希尔排序 快速排序 冒泡排序 时间测试 八大排序 大概了解了一下八大排序,发现排序方法的难易程度相差很多,相应的,他们计算同一列 ...

随机推荐

  1. 卓尼斯ZT-180点评

    卓尼斯ZT-180点评    ——我们出差,使用10”上网本发布,没有图片.并写冲忙.遗憾的不足之处. 一.购买 1.由于旅游.不想拿那台14"笔记本,台平板电脑.当时,选择的对象有维智A8 ...

  2. synchronized与static synchronized 差异

    1.synchronized与static synchronized 差异       synchronized是对类的当前实例进行加锁,防止其它线程同一时候訪问该类的该实例的全部synchroniz ...

  3. Windows 8实例教程系列 - 开篇

    原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...

  4. asp.net模板控件示例

    原文:asp.net模板控件示例 模板控件允许将控件数据与其表示形式相分离,模板化控件不提供用户界面. 编写它则是为了实现一个命名容器以及包含属性和方法可由宿主页访问的类,MSDN是这样解释的. 下面 ...

  5. ICT工作的思考&lt;两&gt;

    2周奋战.我负责的LB昨天完成了最后一个模块.最后20日. 一周早于预期,经理说,出乎他的意料.So 奖励表,昨日,管理人员与我们合作,吃烧烤补补身子.我只想说,最后一个喘息. 这两周的生活确挺忙碌的 ...

  6. 设计模式模式游客(Visitor)摘录

    23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例,怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化托付给还 ...

  7. POJ1251 Jungle Roads 【最小生成树Prim】

    Jungle Roads Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19536   Accepted: 8970 Des ...

  8. Cocos2d-x3.2游戏的核心循环在Application,怎样处理FPS不稳

    今天天气非常阴,立即要下雨了,陈吃早点功夫写点东西, 一场秋雨一场寒,十场秋雨要穿棉,各位从今往后多穿点 int Application::run() { if(!applicationDidFini ...

  9. myeclipse 8.5-10.0 安装 svn 方法(转)

    方法总结  方法一:在线安装  1.打开HELP->MyEclipse Configuration  Center.切换到SoftWare标签页.      2.点击Add Site 打开对话框 ...

  10. GoldenGate组态(四)它veridata组态

    GoldenGate组态(四)它veridata组态 环境: Item Source System Target System Platform Red Hat Enterprise Linux Se ...