用java编写一个方法,用于打印m行n列的“*”图形,然后编写一个程序,提示用户输入m和n的值,打印输出图形
时间: 2024-05-09 13:19:13 浏览: 49
用 java 编写打印程序
快速排序(Quick Sort)是一种基于分治思想的排序算法,它的基本思想是通过一趟排序将待排序记录分割成独立的两部分,其中一部分的所有记录都比另一部分的所有记录都小,然后再按此方法对这两部分分别进行快速排序,以达到整个序列有序的目的。
快速排序的实现步骤如下:
1. 选择一个基准元素(pivot),一般选择序列的第一个元素。
2. 将序列中所有小于基准元素的元素移到基准元素的左边,所有大于基准元素的元素移到基准元素的右边。
3. 对基准元素左右两边的子序列分别递归地进行快速排序。
4. 重复以上步骤,直到整个序列有序。
快速排序的具体实现代码如下:
```
void quickSort(int arr[], int left, int right) {
int i, j, pivot;
if (left < right) {
i = left;
j = right;
pivot = arr[left]; // 设定基准元素
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
if (i < j) {
arr[i++] = arr[j];
}
while (i < j && arr[i] < pivot) {
i++;
}
if (i < j) {
arr[j--] = arr[i];
}
}
arr[i] = pivot;
quickSort(arr, left, i - 1); // 递归调用左半部分
quickSort(arr, i + 1, right); // 递归调用右半部分
}
}
```
在上述代码中,left 和 right 分别表示序列的起始位置和结束位置,i 和 j 分别表示左右指针,pivot 表示基准元素。在 while 循环中,先从右往左找到第一个小于基准元素的元素,将其赋值给 arr[i],然后从左往右找到第一个大于等于基准元素的元素,将其赋值给 arr[j],然后继续循环。当 i 和 j 相遇时,将基准元素赋值给 arr[i],此时基准元素左边的元素都小于它,右边的元素都大于等于它。然后递归地对左右两边的子序列进行快速排序,直到整个序列有序。
阅读全文