数据结构与算法

Time: 2025-02-20 Thursday 23:56:01
Author: Jackasher

数据结构与算法

开啃,这个麻烦难搞的东西啊

排序

基数排序

这个东西不理解,但是莫名其妙就排序好了,先排低位,再排高位

1
2
3
4
5
6
7
8
9
//1.获取最大位数

//2.取余数放桶里面

//3.桶里面按顺序取出来放回数组

//4.继续取第二位余数

//5.重复最大位数n次

冒泡排序

这个简单,就是每一次循环挑出一个最大值,挑选n-1次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//1.循环比较n-1次

//2.谁大谁交换位置

for (int i = 0; i < arr.length - 1; i++) {
Boolean flag = false;
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;

flag = true;
}
}

快速排序

这个就抽象了,搞了我一天了,就是选一个数,左边比他小,右边比他大,一直选,

搞了一天,哎哟喂,这个左指针先动还是又指针先动导致 了排序的错误

1
2
3
4
5
6
7
8
9
//{9, 855, 75, 65, 555, 4, 34, 2, 1}       
while (left != right) {

while (left < right && arr[right] >= pivot) { // 添加 left < right 以防止越界
right--;
}
while (left < right && arr[left] <= pivot) { // 添加 left < right 以防止越界
left++;
}

数据结构与算法
http://example.com/2025/02/20/数据结构与算法/
作者
Jack Asher
发布于
2025年2月20日
许可协议