Java冒泡排序算法
来源:互联网 发布:非关系型数据库 编辑:程序博客网 时间:2024/05/29 03:52
最近看了Java数据结构和算法想写点东西!根据书里面的代码然后加了一些自已的想法!
代码如下:
class ArrayBub
{private long[] a;
private int nElems;
public ArrayBub(int max){
a = new long[max];
nElems = 0;
}
public void insert(long value){
a[nElems] = value;
nElems++;
}
public boolean find(long searchKey){
int j;
for(j = 0;j < nElems;j++){
if(a[j] == searchKey){
break;
}
}
if(j == nElems){
return false;
}else{
return true;
}
}
public boolean delete(long value){
int j;
for(j = 0;j < nElems;j++){
if(a[j] == value){
break;
}
}
if(j == nElems){
return false;
}else{
for(int k = j;k < nElems;k++)
a[k] = a[k + 1];
nElems--;
return true;
}
}
public void display(){
for(int j = 0;j < nElems;j++)
System.out.print(a[j] + " ");
System.out.println("");
}
//从大到小冒泡排序输出
public void bubbleSort(){
int out,in;
for(out = 0;out < nElems - 1;out++)
for(in = nElems;in >= out;in--)
if(a[in] < a[in + 1])
swap(in,in + 1);
}
//从小到大冒泡排序输出
public void bubbleSort2(){
int out2,in2;
for(out2 = nElems - 1;out2 >= 1;out2--)
for(in2 = 0;in2 < out2;in2++)
if(a[in2] > a[in2 + 1])
swap(in2,in2 + 1);
}
private void swap(int one,int two){
long temp = a[one];
a[one] = a[two];
a[two] = temp;
}
}
public class BubbleSortApp
{
public static void main(String[] args){
int maxSize = 100;
ArrayBub arr;
arr = new ArrayBub(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();
arr.bubbleSort();
arr.display();
arr.bubbleSort2();
arr.display();
System.out.println("############################");
int searchKey = 55;
if(arr.find(searchKey)){
System.out.println("Found " + searchKey);
}else{
System.out.println("Can't find " + searchKey);
}
arr.delete(00);
arr.delete(99);
arr.delete(55);
arr.display();
arr.bubbleSort();
arr.display();
arr.bubbleSort2();
arr.display();
System.out.println("############################");
arr.insert(00);
arr.insert(99);
arr.insert(55);
arr.display();
arr.bubbleSort();
arr.display();
arr.bubbleSort2();
arr.display();
}
}
运行结果如下所示:
0 0
- java 冒泡排序算法~~~
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java 冒泡排序算法
- [java]冒泡排序算法
- java冒泡排序算法
- 冒泡排序算法(JAVA)
- java冒泡排序算法
- Java冒泡排序算法
- java冒泡排序算法
- Java算法 冒泡排序
- java算法:冒泡排序
- java算法:冒泡排序
- java算法---冒泡排序
- Java冒泡排序算法
- java 排序算法(冒泡)
- POJ The Triangle
- 通过扩展 CWebUser 增加信息到 Yii::app()->user
- mysql修改root密码
- 圆角和圆形ImageView
- UVa 140 - BandWidth 解题报告(暴力)
- Java冒泡排序算法
- C语言编译四则运算
- 加密数
- JDBC数据库通用DAO
- PackageManager使用
- hdoj.2003 求绝对值 20140721
- 手机内存卡格式化文件怎么恢复
- HDU1102 Constructing Roads 【最小生成树Prim】
- linux之sed用法