每日小语
人生没有目的,只有过程,所谓的终极目的是虚无的。---人的情况和树相同。它愈想开向高处和明亮处,它的根愈要向下,向泥土,向黑暗处,向深处,向恶---千万不要忘记。我们飞翔得越高,我们在那些不能飞翔的人 眼中的形象 越是渺小。 ——尼采 《查拉图斯特拉如是说》
自己敲写
1.如何随机产生数?
2.如何进行冒泡排序?
//产生0~10的8个随机整数,并利用冒泡排序法将其升序排序后输出(冒泡排序算法:每次进行相邻两数的比较,若次序不对,则交换两数的次序)(BubblingSorting16)
import java.util.Random;
import java.util.Scanner;
public class BubblingSorting16
{
public static void main(String[] args)
{
//产生随机数
Random random = new Random();
int size = 10; // 数组大小
int[] array = new int[size];
for (int i = 0; i < size; i++)
{
array[i] = random.nextInt(100);
}// 生成0到99之间的随机数
int n;
//冒泡排序
for(int i = 0;i<8;i++)
{
for(int j = 0;j<i;j ++)
{
if(array[i]>array[j])
{
int newValue = 0;
array[i]=newValue;
array[i]=array[j];
array[j]=array[i];
}
}
System.out.println("排序后的数组:"+array);
}
}
}
这个有问题
首先,在冒泡排序算法中,内层循环的范围应该是从0到数组长度减去外层循环的索引值减一,即for(int j = 0; j < size - i - 1; j++)
。其次,在交换两个元素位置时,需要使用一个临时变量来存储一个元素的值,以便进行交换。
终极代码
//产生0~10的8个随机整数,并利用冒泡排序法将其升序排序后输出(冒泡排序算法:每次进行相邻两数的比较,若次序不对,则交换两数的次序)(BubblingSorting16)
import java.util.Random;
import java.util.Scanner;
public class BubblingSorting16
{
public static void main(String[] args)
{
//产生随机数
Random random = new Random();
int size = 8; // 数组大小
int[] array = new int[size];
for (int i = 0; i < size; i++)
{
array[i] = random.nextInt(11);
System.out.print(array[i]+" ");
}// 生成0到99之间的随机数
System.out.println(" ");
int n;
//冒泡排序,升序
for(int i = 0;i<8;i++)
{
for(int j = 0;j<7;j ++)
{
if(array[i]>array[j])
{
int temp = array[j];
array[j] = array[i];
array[i] = temp;
}
}
}
for(int i = 0;i<8;i++)
{
System.out.print(array[i]+" ");
}
}
}