将文件中的数进行冒泡排序java
时间: 2024-12-17 19:30:45 浏览: 2
冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。这个过程就像气泡不断上升到液面一样。在Java中,对文件中的数字进行冒泡排序可以按照以下步骤操作:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BubbleSortFile {
public static void main(String[] args) {
try {
String filePath = "path_to_your_file.txt"; // 替换为你的文件路径
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line;
int[] numbers = new int[0]; // 初始化一个空数组
while ((line = reader.readLine()) != null) {
int num = Integer.parseInt(line);
numbers = addNumberToArray(numbers, num); // 将读取的数添加到数组
}
reader.close();
bubbleSort(numbers); // 对数组进行冒泡排序
printArray(numbers); // 输出排序后的数组
} catch (IOException e) {
System.out.println("An error occurred while reading the file.");
e.printStackTrace();
}
}
private static int[] addNumberToArray(int[] array, int number) {
if (array.length == 0) {
return new int[]{number};
} else {
int[] newArray = new int[array.length + 1];
System.arraycopy(array, 0, newArray, 0, array.length);
newArray[newArray.length - 1] = number;
return newArray;
}
}
private static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
private static void printArray(int[] array) {
for (int num : array) {
System.out.print(num + " ");
}
System.out.println();
}
}
```
在这个示例中,程序首先读取文件中的每一行数据,将其转换为整数并存储到数组中。然后使用冒泡排序算法对数组进行排序,并最后打印出结果。
阅读全文