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;
}
}
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
- java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出
- 对数组元素随机赋值,冒泡排序,输出数组
- java-数组静态初始化、选择排序、冒泡排序、数组的折半查找、折半查找练习
- java数组常见的排序——选择排序和冒泡排序
- Java 随机给二维数组赋值,打印输出每个元素
- 使用随机函数初始化一个数组,并对数组进行排序(冒泡排序法和选择排序法)
- 冒泡排序:在随机产生的数组中查找最值,实现数组的排序
- 黑马程序员java学习— 数组的选择排序和冒泡排序
- 利用随机类生成数组,并用冒泡排序以及选择排序对不同数组的元素进行从小到大的排序
- java中数组的选择排序和冒泡排序
- Java 中数组的冒泡排序 和 直接选择排序
- 黑马程序员:Java数组简介与数组的应用:选择排序、冒泡排序、折半查找
- 数组的选择排序和冒泡排序
- JAVA数组选择和冒泡排序
- 黑马程序员——Java基础 数组排序的两种实现方法,选择和冒泡
- 数组的冒泡排序和折半查找
- 数组的折半查找和冒泡排序
- Java基础知识 Part03(数组, 冒泡排序/选择排序, 小算法)
- nyoj-277-车牌号
- android学习笔记---Android LayoutInflater和infalter()方法详解
- NYOJ 253LK的旅行(凸包 对踵点)
- TRIZ系列-创新原理-18-机械振动原理
- Maven中央仓库——你可能不知道的细节
- java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出
- 【android】优秀的UI资源网站集合
- Codeforces Round #273 (Div. 2)
- Hibernate系列学习之(二) 多对一、一对一、一对多、多对多的配置方法
- 【线段树】基本写法,区间极值,区间延迟更新,多延迟标签
- 在Eclipse中使用Axis2插件自动生成WSDL文件
- 虚拟机(VMware Workstation)的使用方法
- C++ Singleton + MultiThread
- poj3274