用冒泡排序找出一个数组中的最大最小值
时间: 2023-05-31 07:04:02 浏览: 57
以下是Python代码实现:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
# 测试
arr = [5, 3, 8, 1, 9, 2]
sorted_arr = bubble_sort(arr)
print("排序后的数组:", sorted_arr)
print("最小值:", sorted_arr[0])
print("最大值:", sorted_arr[-1])
```
输出:
```
排序后的数组: [1, 2, 3, 5, 8, 9]
最小值: 1
最大值: 9
```
相关问题
c语言冒泡排序定义数组6个元素,通过输入函数输入数组元素通过循环找出数组元素的最大值和最小值输出出来
好的,以下是冒泡排序并找出最大值和最小值的 C 语言代码示例,其中通过输入函数输入数组元素:
```c
#include <stdio.h>
int main() {
int arr[6];
int i, j, temp, max, min;
printf("请输入数组元素:");
for (i = 0; i < 6; i++) {
scanf("%d", &arr[i]);
}
// 冒泡排序
for (i = 0; i < 6; i++) {
for (j = 0; j < 6 - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 找出最大值和最小值
max = arr[0];
min = arr[0];
for (i = 1; i < 6; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("排序后的数组:");
for (i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
printf("\n最大值:%d\n", max);
printf("最小值:%d\n", min);
return 0;
}
```
在上面的代码中,我们首先通过 `scanf` 函数输入数组元素,然后使用冒泡排序算法对数组进行排序,接着使用循环找出数组的最大值和最小值并输出。
C语言对整形数组排序并找出大于0最小值
可以使用冒泡排序算法对整型数组进行排序,然后找出大于0的最小值。以下是示例代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int findSmallestPositive(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
return arr[i];
}
}
return -1; // 如果数组中没有大于0的元素,则返回-1表示未找到
}
int main() {
int arr[] = {5, -3, 2, 0, 7, -1, 9};
int size = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, size);
int smallestPositive = findSmallestPositive(arr, size);
if (smallestPositive > 0) {
printf("最小的大于0的值为: %d\n", smallestPositive);
} else {
printf("数组中没有大于0的元素\n");
}
return 0;
}
```
这段代码首先使用冒泡排序算法对数组进行排序,然后通过 `findSmallestPositive` 函数找出大于0的最小值。在 `main` 函数中,我们给定了一个示例数组并输出结果。