三个整数排序

import java.util.Scanner;

public class ThreeSort {
    public static void main(String[] args) {
        System.out.println("请输入三个数:");

        Scanner in = new Scanner(System.in);

        int a = in.nextInt();
        int b = in.nextInt();
        int c = in.nextInt();

        if(a>b){
            int temp = a;
            a = b;
            b = temp;
        }
        if(a>c){
            int temp = a;
            a = c;
            c = temp;
        }
        if(b>c){
            int temp = b;
            b = c;
            c = temp;
        }

        System.out.println(a+","+b+","+c);
    }
}

在C语言中,对三个整数排序可以使用不同的算法实现,比如选择排序、冒泡排序或直接插入排序。这里以最常见的快速排序为例,它是一种高效的排序算法,步骤如下: 1. **选取基准** (pivot):通常选择第一个元素作为基准。 2. **分区操作** (partitioning):将数组分为两部分,一部分所有元素都小于基准,另一部分所有元素大于或等于基准。 3. **递归** (recursion):对两部分分别进行相同的排序过程,直到每个部分只剩下一个元素或为空。 以下是简单的快速排序函数示例,用于对三个整数`a`, `b`, 和`c`进行排序: ```c #include <stdio.h> void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } int partition(int arr[], int low, int high) { int pivot = arr[low]; while (low < high) { while (low < high && arr[high] >= pivot) high--; arr[low] = arr[high]; while (low < high && arr[low] <= pivot) low++; arr[high] = arr[low]; } arr[low] = pivot; return low; } void quicksort(int arr[], int low, int high) { if (low < high) { int pi = partition(arr, low, high); quicksort(arr, low, pi - 1); quicksort(arr, pi + 1, high); } } // 主函数来演示排序 int main() { int a, b, c; // 输入三个整数 scanf("%d %d %d", &a, &b, &c); int arr[] = {a, b, c}; int n = sizeof(arr) / sizeof(arr[0]); quicksort(arr, 0, n - 1); printf("Sorted array: "); for (int i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); return 0; } ``` 运行此程序后,它会将输入的三个整数升序排列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值