java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出

来源:互联网 发布:ps cc2017 mac 中文包 编辑:程序博客网 时间:2024/06/07 00:15
import java.util.Random;
import java.util.Scanner;

public class Test1{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("please input the arrays's length:");
int length=sc.nextInt();

int[] arrays=new int[length];

assign( arrays, 10 );
printArrays( arrays );

//只查找输入的数
System.out.println("please input the tofindNum:");
int toFindNum=sc.nextInt();
int result=find( arrays,toFindNum,0);
if (result>=0){
System.out.println("the tofindNum'position is :"+result);
}else{
System.out.println("donnot find the tofindNum:");
}

result =0; //恢复现场
int index=0;//记录起始位置
while (result>=0){
result=find( arrays,toFindNum,index);
if (result>=0){
System.out.println("the tofindNum'position is :"+result);
}
index=result+1; //result+1 表示下一次查找的起始位置

}


System.out.println("the max number is:"+max( arrays) );
System.out.println("the min number is:"+min( arrays) );


System.out.println("下面是冒泡排序" );
bubbleSort( arrays );
// System.out.println("下面是选择排序" );
// selectSort( arrays );
printArrays( arrays );
}

//实现冒泡排序
public static void bubbleSort(int[] a ) {
if ( a==null || a.length<=0){
return ;
}
for(int i=1;i<a.length;i++){
for(int j=0;j<a.length-i;j++){
if(a[j]>a[j+1]){
swap( a,j,j+1);
}
}
}
}

/* //实现选择排序
public static void selectSort(int[] a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
swap(a,i,j);
printArrays( a );
}
}
}
} */

//实现插入排序
//public static



//使用位运算来完成交换
public static void swap(int [] arrays,int a,int b){
arrays[a]=arrays[a]^arrays[b];
arrays[b]=arrays[a]^arrays[b];
arrays[a]=arrays[a]^arrays[b];

}

// 查找数组的最大值
public static int max( int[] arrays ){
if ( arrays==null || arrays.length<=0){
return -1;
}

int maxNum=arrays[0];
for(int i=1;i<arrays.length;i++){
if(maxNum<arrays[i]){
maxNum=arrays[i];
}
}
return maxNum;
}

//查找数组的最小值
public static int min( int[] arrays ){
if ( arrays==null || arrays.length<=0){
return -1;
}

int minNum=arrays[0];
for(int i=0;i<arrays.length;i++){
if(minNum>arrays[i]){
minNum=arrays[i];
}
}
return minNum;
}

//给数组随机赋值
public static void assign( int[] arrays ,int range) {
if ( arrays==null || arrays.length<=0){
return ;
}
Random r=new Random();
for (int i=0;i<arrays.length;i++){
arrays[i]=r.nextInt( range );
}
}

//输出随机赋值的值
public static void printArrays( int[] arrays){
System.out.println("====================");
for(int t : arrays ){

System.out.print(t+"\t");
}
System.out.println("====================");
}

//值的查找
public static int find( int [] arrays,int tofindNum, int startPosition ){
if ( arrays==null || arrays.length<=0){
return -1;
}
if( startPosition<0 || startPosition>arrays.length){
return -1;
}
for(int i=startPosition;i<arrays.length;i++){
if ( arrays[i]==tofindNum ){
return i;
}
}
return -1;

}
}
0 0
原创粉丝点击