如何用java实现快速排序,简答讲解下原理
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
eclipse怎么写倒序数字
键盘录入一个四位数,倒序将其输出,输入不正确则显示“输入错误”
输入样式:1624
输出样式:4261
代码如下:
#include"pch.h"
#include<iostream>
using namespace std;
int main() {
int a;
int i, j, k, l;
cout << "请输入一个4位数字" << endl;
cin >> a;
if (a / 1000 != 0) {
i =a / 1000; //千位
j = a / 100 % 10; //百位
k = a / 10 % 10; //十位
l = a % 10; //个位
cout << l << k << j << i << endl;
}
else
{
cout << "输入错误" << endl;
}
return 0;
}
在Eclipse中写倒序数字,可以使用for循环语句,从数字的最大值开始循环,每次减1,直到达到数字的最小值为止。代码如下:
```
for(int i = 10; i >= 1; i--){
System.out.println(i);
}
```
以上代码将输出数字10到1,每个数字占一行,且按照倒序排列。在Eclipse中,可以在Java项目中创建一个新的类,并将以上代码放在main方法中,即可运行并查看结果。
java中的冒泡排序
public void bubbleSort(int[] data, String sortType) {
if (sortType.equals("asc")) { //正排序,从小排到大
//比较的轮数
for (int i = 1; i < data.length; i++) {
//将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j <
data.length
- i; j++) {
if (data[j] > data[j + 1]) {
//交换相邻两个数
swap(data, j, j + 1);
}
}
}
} else if (sortType.equals("desc")) { //倒排序,从大排到小
//比较的轮数
for (int i = 1; i < data.length; i++) {
//将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j <
data.length
- i; j++) {
if (data[j] < data[j + 1]) {
//交换相邻两个数
swap(data, j, j + 1);
}
}
}
} else {
System.out.println("您输入的排序类型错误!");
}
printArray(data);//输出冒泡排序后的数组值
}