Java选择排序算法
来源:互联网 发布:node.js买什么书 编辑:程序博客网 时间:2024/05/17 21:19
这篇是选择排序算法!为了练习和巩固以前的知识!
代码如下:
class ArraySel
{
private long[] a;
private int nElems;
public ArraySel(int maxSize){
a = new long[maxSize];
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 selectSort(){
int out,in,min;
for(out = 0;out < nElems;out++){
min = out;
for(in = out + 1;in < nElems;in++)
if(a[in] < a[min])
min = in;
swap(out,min);
}
}
//选择排序中之逆序排序输出
public void selectSort2(){
int out2,in2,max;
for(out2 = 0;out2 < nElems;out2++){
max = out2;
for(in2 = out2 + 1;in2 < nElems;in2++)
if(a[in2] > a[max])
max = in2;
swap(out2,max);
}
}
private void swap(int x,int y){
long temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
public class SelectSortApp
{
public static void main(String[] args){
int maxSize = 100;
ArraySel arr;
arr = new ArraySel(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.selectSort();
arr.display();
arr.selectSort2();
arr.display();
System.out.println("############################");
int searchKey = 35;
if(arr.find(searchKey)){
System.out.println("Found "+ searchKey);
}else{
System.out.println("Can't find " + searchKey);
}
arr.delete(00);
arr.delete(99);
arr.display();
arr.selectSort();
arr.display();
arr.selectSort2();
arr.display();
System.out.println("############################");
arr.insert(00);
arr.insert(99);
arr.display();
arr.selectSort();
arr.display();
arr.selectSort2();
arr.display();
}
}
运行结果如图所示:
- java 选择排序算法
- java选择排序算法~~~
- java选择排序算法
- java选择排序算法
- java选择排序算法
- java算法:选择排序
- java算法---选择排序
- Java选择排序算法
- Java选择排序算法
- java选择排序算法
- Java选择排序算法
- JAVA-选择排序算法
- Java算法-选择排序
- java 选择排序算法
- 选择排序算法(Java)
- 选择排序算法,java
- Java选择排序算法
- Java算法:选择排序
- 定义struct
- 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载六-设计播放器APP
- 论文摘抄 - Tenzing
- 树状数组 boj 399. Who Is Joyful boj 395. Tree
- 数据成员的存取与布局
- Java选择排序算法
- hdu 1003 MAX sum (简单DP)
- Servlet程序开发(章节摘要)
- form
- 移动互联网 网民高达6.86亿
- leetcode Linked List Cycle 链表的快慢指针
- MSchart控件在Microsoft Visual Studio 2012打不开
- win7(32bit)+vs2008+opnet14.5安装教程
- sizeof()与strlen()函数计算的总结