一,冒泡排序
package com.java.method;
/**
* @author Dell
* 冒泡方法对数组元素进行排序
*/
public class MaoPao {
public static void main(String[] args) {
int[] arr={5,63,2,45,1,8,7,14};
System.out.print("排序前是:");
for (int i : arr) {
System.out.print(i+" ");
}
System.out.println();
for (int x = 0; x < arr.length-1; x++) {
//减去1是为了避免数组角标越界异常的发生,减去x是递变规律
for (int y = 0; y < arr.length-1-x; y++) {
int temp=0;
if (arr[y]>arr[y+1]) {
temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
System.out.print("排序后是:");
for (int i : arr) {
System.out.print(i+" ");
}
}
}
二,选择排序
package com.java.method;
/**
* @author Dell
* 利用选择排序对数组元素进行排序
*/
public class XuanZe {
public static void main(String[] args) {
int[] arr={15,2,3,85,0,-2,9,32};
System.out.print("排序前是:");
for (int i : arr) {
System.out.print(i+" ");
}
System.out.println();
for (int x = 0; x < arr.length-1; x++) {
for (int y = x+1; y < arr.length; y++) {
int temp;
if (arr[x]>arr[y]) {
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
System.out.print("排序后是:");
for (int i : arr) {
System.out.print(i+" ");
}
}
}
三,递归的使用案例
1.随机产生0到100之间的10个数,并求出最大值
package com.java.method;
/**
* @author Dell
* 随机产生10个0到100之间的数并求出最大值
*/
public class RanMat {
public static void main(String[] args) {
int[] arr=new int[10];
int max=0;
System.out.print("十个数分别是:");
for (int x = 0; x < arr.length; x++) {
arr[x]=(int) (100*Math.random());
System.out.print(arr[x]+" ");
if (max<arr[x]) {
max=arr[x];
}
}
System.out.println();
System.out.print("最大的数是:"+max);
}
}
2.随机产生一个50到100之间的数
package com.java.method;
import java.util.Random;
/**
* @author Dell
* 随机产生50到100之间的数(区间可任意指定)
*/
public class RanMath {
public static void main(String[] args) {
int result=getValue();
System.out.println("符合条件的数是:"+result);
}
private static int getValue() {
Random ran=new Random();
//指定一个上限100
int result=ran.nextInt(100);
if (result<50) {
result=getValue();
}
return result;
}
}
四,嵌套循环的使用
求1,2,3,4这样四个数能组成多少个没有重复数字的三位数
package com.java.method;
/**
* @author Dell
* 1,2,3,4四个数能组成多少个无重复数字的三位数?分别是?
*/
public class Valu {
public static void main(String[] args) {
int counter=0;
System.out.print("这样的数分别是:");
for (int x = 1; x < 5; x++) {
for (int y = 1; y < 5; y++) {
for (int z = 1; z < 5; z++) {
if (x!=y&&x!=z&&y!=z) {
int val=100*x+10*y+z;
counter++;
System.out.print(val+" ");
}
}
}
}
System.out.println();
System.out.print("这样的数一共有:"+counter+"个");
}
}
本文介绍了冒泡排序、选择排序等基本排序算法,并通过递归来实现随机数生成与最大值查找,展示了算法在实际问题解决中的应用。
1899

被折叠的 条评论
为什么被折叠?



