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排序查找
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
