高矮个子排序 java
时间: 2023-07-14 09:03:12 浏览: 147
比较每行每列的高矮个
### 回答1:
在Java中,我们可以使用冒泡排序算法来对一组高矮个子进行排序。
冒泡排序是一种简单的排序算法,原理是将相邻的元素两两比较,根据排序规则交换它们的位置。通过多次遍历,直到没有任何交换发生为止,即可完成排序。
首先,我们需要创建一个整型数组来存储一组高矮个子的身高信息。假设数组名为heights,其中包含了n个元素。
然后,我们使用两层循环来进行比较和交换。外层循环控制需要进行n-1次的遍历,内层循环用于两两比较和交换。
在内层循环中,我们使用一个if语句来判断相邻两个元素的大小关系。如果前一个元素大于后一个元素(即身高较高),则进行交换。
最后,输出排序后的结果即可。
下面是具体的代码实现:
```
public class SortHeights {
public static void main(String[] args) {
int[] heights = {165, 170, 175, 160, 180}; // 假设身高信息存储在一个整型数组中
int n = heights.length;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (heights[j] > heights[j+1]) {
// 交换两个元素的位置
int temp = heights[j];
heights[j] = heights[j+1];
heights[j+1] = temp;
}
}
}
// 输出排序结果
for (int i = 0; i < n; i++) {
System.out.println(heights[i]);
}
}
}
```
在上述代码中,我们使用了一个临时变量temp来进行交换操作。通过多次遍历和交换,可以将一组高矮个子按照身高进行排序。
### 回答2:
在Java中实现对身高进行排序,可以使用冒泡排序或者快速排序算法。
冒泡排序算法的实现如下:
```
public class HeightSort {
public static void bubbleSort(int[] heights) {
int n = heights.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (heights[j] > heights[j + 1]) {
int temp = heights[j];
heights[j] = heights[j + 1];
heights[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] heights = {175, 160, 180, 165, 170};
bubbleSort(heights);
System.out.println("排序后的身高:");
for (int height : heights) {
System.out.println(height);
}
}
}
```
快速排序算法的实现如下:
```
public class HeightSort {
public static void quickSort(int[] heights, int low, int high) {
if (low < high) {
int pivot = partition(heights, low, high);
quickSort(heights, low, pivot - 1);
quickSort(heights, pivot + 1, high);
}
}
public static int partition(int[] heights, int low, int high) {
int pivot = heights[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (heights[j] < pivot) {
i++;
int temp = heights[i];
heights[i] = heights[j];
heights[j] = temp;
}
}
int temp = heights[i + 1];
heights[i + 1] = heights[high];
heights[high] = temp;
return i + 1;
}
public static void main(String[] args) {
int[] heights = {175, 160, 180, 165, 170};
quickSort(heights, 0, heights.length - 1);
System.out.println("排序后的身高:");
for (int height : heights) {
System.out.println(height);
}
}
}
```
以上是两种常见的排序算法中的一种,可以根据实际需求选择适合的排序算法。
### 回答3:
在Java中,我们可以使用数组和循环结构来实现对高矮个子进行排序。首先,我们可以创建一个整型数组来存储个子的身高,然后利用循环结构来遍历数组。在每一次循环中,我们可以比较当前元素和下一个元素的数值大小,如果高度大于下一个元素,则进行交换位置。
以下是一个使用冒泡排序的示例代码:
```java
public class SortHeights {
public static void main(String[] args) {
int[] heights = {160, 170, 155, 175, 165}; // 假设这是一组身高数据
// 使用冒泡排序算法对身高进行排序
for (int i = 0; i < heights.length-1; i++) {
for (int j = 0; j < heights.length-1-i; j++) {
if (heights[j] > heights[j+1]) {
int temp = heights[j];
heights[j] = heights[j+1];
heights[j+1] = temp;
}
}
}
// 打印排序后的身高数组
for (int height : heights) {
System.out.println(height);
}
}
}
```
在上述代码中,我们使用了冒泡排序算法。首先,设置两层循环,外层循环控制遍历次数,内层循环控制每一次的比较次数。内层循环中,我们通过比较当前元素和下一个元素的大小来进行交换。最终,通过多次循环遍历,将最大的元素逐渐移动到数组的末尾,从而实现升序排序。
运行上述代码后,将会按照升序打印高度排序后的结果:
```
155
160
165
170
175
```
通过这种方式,我们可以实现对个子的排序,将矮的个子排在前面,将高的个子排在后面。当然,除了冒泡排序,也可以使用其他的排序算法,如插入排序、选择排序等来达到同样的目的。
阅读全文