冒泡排序:

package nicetime.com;

//基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,
// 让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
public class BubbleSorted{
public static int[] BubbleSorted(int[] tempData)
{
int[] data=tempData;
int temp=0;
for(int i=0;i<data.length-1;i++)
{
for(int j=0;j<data.length-1-i;j++)
{
if(data[j]>data[j+1])
{
temp=data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
}
}
return data;
}

public static void main(String[] args)
{
int tempData[]={8,54,62,15,25,35,52,18,42};
int result[]=BubbleSorted(tempData);
for(int i=0;i<result.length; i++)
{
System.out.print(result[i]+"-");
}
System.out.print("\n\r");
}
}

快速排序:

算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。

假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1。代码如下:

package com.test;

public class FindSorted{
public static void main(String[] args) {
int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 };
System.out.println(search(arr, 12));
System.out.println(search(arr, 45));
System.out.println(search(arr, 67));
System.out.println(search(arr, 89));
System.out.println(search(arr, 99));
}

public static int search(int[] arr, int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int middle = (start + end) / 2;
if (key < arr[middle]) {
end = middle - 1;
} else if (key > arr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}
}

最新文章

  1. 解读发布:.NET Core RC2 and .NET Core SDK Preview 1
  2. php : 获取对象的属性名
  3. qsort函数用法【转】
  4. nexenta systemcallerror
  5. ​浅谈Asp.net的sessionState
  6. iOS App 唤醒另一个App
  7. java中的Switch case语句
  8. linux下 cmatrix的安装和使用
  9. KesionCMS V6.5后台拿SHELL方法
  10. Windows Phone 8初学者开发—第17部分:Coding4Fun工具包简介
  11. hdu 4888 Redraw Beautiful Drawings 最大流
  12. VUE插件-图片濑加载
  13. 【HNOI 2016】序列
  14. Android 菊花加载工具类
  15. netty(一) netty有哪几部分构成
  16. js對象
  17. 06机器学习实战之SVM
  18. Mysql命令drop database:删除数据库
  19. Python爬虫-爬取科比职业生涯高清图集
  20. python之路----进程三

热门文章

  1. 【转】Cache Buffer Chain 第三篇
  2. 怎么在Ubuntu下设置程序的快捷键
  3. CF-796C
  4. 微信小程序开发之修改和获取变量的值
  5. ASP.NET Response.Cookies
  6. Weekly Contest 111--------&gt;942. DI String Match
  7. 萌新笔记之二叉搜索树(BST)
  8. AFN的使用
  9. 学习Mahout(二)
  10. Mysql 开启 Slow 慢查询