java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

一、冒泡排序

将每个数字与相邻的下一个数字进行比较,如果当前数字大于相邻的下一个数字,就交换

/*

*

冒泡排序的原理:

*

*

将每个数字与相邻的下一个数字进行比较,如果当前数字大于相邻的下一个数字,就交换;

*/

publicclass Demo {

publicstatic void main(String[] args) {

int[]intArray = {88,65,78,42,20,324,32,54,365,324,25,87867,76,87,98,7643,5,36,5476};

for(int i = 0 ; i < intArray.length - 1 ; i++){//外层循环控制循环次数

for(int j = 0 ; j < intArray.length - 1 - i ;j++){//内层循环用于取数和判断

if(intArray[ j ] > intArray[ j + 1 ] ) {

//交换

inttemp = intArray[j];

intArray[j]= intArray[j + 1];

intArray[j+ 1] = temp;

}

}

}

//循环结束后,数组的顺序将发生改变;

for(inti = 0;i < intArray.length ; i++){

System.out.println(intArray[i]);

}

}

}

二、选择排序

将每个数,和它之后的所有数全部比较一次

/*

*

选择排序:

*

*

将每个数,和它之后的所有数全部比较一次。

*/

publicclass Demo {

publicstatic void main(String[] args) {

int[]array = {85,64,78,32,5};

for(inti = 0 ; i < array.length - 1 ; i ++){

for(intj = i + 1 ; j < array.length ; j++){

if ( array[i] > array[j] ){//交换

inttemp = array[i];

array[i]= array[j];

array[j]= temp;

}

}

}

//排序后遍历

for(inti = 0;i < array.length ; i++){

System.out.println(array[i]);

}

}

}

三、二分查找

查找的数组一定要是有序的

/*

*

二分查找:

*

注意:查找的数组一定要是有序的。

*/

publicclass Demo {

publicstatic void main(String[] args) {

int[]array = {1,3,5,88,99,102,203,345,456};

intnum = 457;

int start = 0;//最小索引

int end = array.length - 1;//最大索引

int mid = (start + end) / 2;//中间的索引

//定义一个标记

boolean flag = false;//初始值为false,表示为没找到;

while(start<= end){

if( num < array [ mid ] ){//往左走

end= mid - 1;

} else if( num > array [ mid ] ){//往右走

start= mid + 1;

}else{

flag= true;

// System.out.println("找到:索引:" + mid);

break;

}

mid= (start + end) / 2;

}

//如果代码到这里,有两种情况到这里:1.找到:break到这里;2.没找到,但循环结束;

//我们就是要判断出是那种情况:

//特征:

//1.如果start大于end,没找到,到达这里;

//2.添加标记

if(flag){

System.out.println("找到数字:" + num + ",索引为:"

+mid);

}else{

System.out.println("数字:" + num + "

没找到");

}

}

}

java排序查找

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。