小数上浮视频里没有给出,我觉的应该这么写。
- #include <stdio.h>
- void BubbleMax(int arr[],int len){
- int temp;
- //大数下沉法
- for(int i=0;i<len-1;i++){
- for (int j=0; j<len-1-i; j++) {
- if (arr[j]>arr[j+1]) {
- //交换 a[j] 和 a[j+1]的值
- temp = arr[j];
- arr[j] = arr[j+1];
- arr[j+1] = temp;
- }
- }
- }
- }
- void BubbleMin(int arr[],int len){
- int temp;
- //小数上浮法
- for(int i=0;i<len-1;i++){
- for (int j=len-1; j>i; j--) {
- if (arr[j]<arr[j-1]) {
- //交换 a[j] 和 a[j-1]的值
- temp = arr[j];
- arr[j] = arr[j-1];
- arr[j-1] = temp;
- }
- }
- }
- }
- int main(int argc, const char * argv[]) {
-
- int a[10]={1,200,23,45,12,34,19,4,388,63};
- int b[10]={1,200,23,45,12,34,19,4,388,63};
- //进行排序
- BubbleMax(a, 10);
- BubbleMin(b, 10);
- //遍历数组
- for (int i=0; i<10; i++) {
- printf("%d\t",a[i]);
- }
- printf("\n");
- for (int i=0; i<10; i++) {
- printf("%d\t",b[i]);
- }
- return 0;
- }
复制代码 |
|