/**
交互两个数据
*/
inline void swap(int *a,int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
/**
冒泡排序
*/
void bubbleSort(int len,int table[]) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len -1- i; j++) {
if (table[j] > table[j + 1]) {
swap(&table[j],&table[j+1]);
}
}
}
}
/**
选择排序
*/
void selectSort(int len, int table[]) {
for (int i = 0; i < len; i++) {
int k = i;
for (int j = i + 1; j < len; j++) {
if (table[j] < table[k]) {
k = j;
}
}
if (k != i) {
swap(&table[i], &table[k]);
}
}
}
/*
插入排序
*/
void insertSort(int len, int table[]) {
for (int i = 1; i < len; i++) {
int j = i - 1;
int temp = table[i];
while (j >= 0 && table[j] > temp) {
table[j + 1] = table[j];
j--;
}
table[j + 1] = temp;
}
}
/*
快速排序
*/
void quickSort(int left,int right, int table[]) {
if (left < right) {
int key = table[left];
int l = left, r = right;
while (l < r) {
while (l<r && table[r]>key) {
r--;
}
swap(&table[l], &table[r]);
while (l<r && table[l] < key) {
l++;
}
swap(&table[l], &table[r]);
}
quickSort(left, l - 1, table);
quickSort(l+1, right, table);
}
文章标题
最新推荐文章于 2023-10-19 15:03:50 发布