一、java常用排序算法实现
//java排序方法
//https://www.cnblogs.com/xudong-bupt/p/3168618.html
//testArraysSort();
//5.java常见排序方法
//https://www.cnblogs.com/10158wsj/p/6782124.html?utm_source=tuicool&utm_medium=referral
二、代码结构实现部分构建内容
package helloWorld;
import java.util.Arrays;
public class firstDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.两个参数求和
//int []sum={0,1,2,3,4,5,6,7,8,9};
//twoSum(sum,5);
//2.顺序查找
//testSequenceSearch();
//3.折半查找
//testBinarySearch();
//4.使用java arrays。sort排序方法
//java排序方法
//https://www.cnblogs.com/xudong-bupt/p/3168618.html
//testArraysSort();
//5.java常见排序方法
//https://www.cnblogs.com/10158wsj/p/6782124.html?utm_source=tuicool&utm_medium=referral
}
public static void testArraysSort(){
int []testData = {2,3,4,5,9,7,13,15,21,23,24,31};
for(int i=0;i<testData.length-1;i++){
System.out.println("未进行排序数组标号:i-" + i+",排序数组数值:"+testData[i]);
}
//使用Arrays.sort进行排序
Arrays.sort(testData);
for(int i=0;i<testData.length-1;i++){
System.out.println("使用排序算法排序后,进行排序数组标号:i-" + i+",排序数组数值:"+testData[i]);
}
}
public static void testBinarySearch(){
int []testData = {2,3,4,5,9,7,13,15,21,23,24,31};
System.out.println("print out current order number:" + BinarySearch(testData,23));
}
//折半查找,前提使用(已经排序好的数组)
public static int BinarySearch(int []sz,int key){
int low =0;
int high = sz.length-1;
//循环判断当前数值
while(low < high) {
int mid = (low + high)/2;
if(key == sz[mid]){
return mid;
}else if(sz[mid]<key) {
//减少折半查找次数
low =mid + 1;
}else {
//减少折半查找次数,high
high =mid - 1;
}
}
return -1;
}
public static void testSequenceSearch(){
int []testData = {2,3,4,5,9,7,34,13,12,43,21,11};
System.out.println("print out current order number:" + SequenceSearch(testData,34));
}
//顺序查找
public static int SequenceSearch(int[] sz, int key) {
for (int i = 0; i < sz.length; i++) {
if (sz[i] == key) {
return i;
}
}
return -1;
}
//两个数求和
public static int[] twoSum(int[] nums, int target) {
int resultSum[]= new int[2] ;
for (int i = 0;i< nums.length-1 ;i ++ ) {
for (int j=i+1;j<nums.length ;j++) {
if(target == (nums[i]+nums[j])) {
resultSum[0] = i;
resultSum[1] = j;
break;
}
}
}
System.out.println("first value:"+ resultSum[0] +",second value:" + resultSum[1]);
return resultSum;
}
}