2.2 KiB
2.2 KiB
tags, aliases, 日期
| tags | aliases | 日期 | |
|---|---|---|---|
|
empty | 2026/2/4 |
#include <stdio.h>
void bubble_sort(int *arr,int len)
{
for(int i=0;i<len;i++){
for(int j=0;j<len-i-1;j++){
if(arr[j] > arr[j+1]){
arr[j] ^= arr[j+1];
arr[j+1] ^= arr[j];
arr[j] ^= arr[j+1];
}
}
}
}
void insertion_sort(int *arr,int len)
{
int point=0,temp=0;
for(int i=1;i<len;i++){
if(arr[i+1] < arr[i]){
point = i+1;
for(int j=point;j>0;j--){
if(arr[j-1] > arr[j]){
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
}
}
void selection_sort(int *arr, int len)
{
int min_val,min_index,temp = 0;
for (int i = 0; i < len - 1; i++){
min_index = i;
min_val = arr[i];
for (int j = i + 1; j < len; j++){
if (arr[j] < min_val){
min_val = arr[j];
min_index = j;
}
}
temp = arr[i];
arr[i] = min_val;
arr[min_index] = temp;
}
}
void quick_sort(int *arr, int left, int right)
{
if (left > right)
return;
int tmp = arr[left];
int i = left;
int j = right;
while (i != j){
while (arr[j] >= tmp && j > i)
j--;
while (arr[i] <= tmp && j > i)
i++;
if (j > i){
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
arr[left] = arr[i];
arr[i] = tmp;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
void shell_sort(int *arr, int len)
{
}
int main(int argc, char const *argv[])
{
int arr[20] = {3,44,28,5,47,36,27,26,89,58,11,31,14,51,54,67,76,68,89,45};
int len = sizeof(arr)/sizeof(arr[0]);
//quick_sort(arr,0,len-1);
for(int i=0;i<len;i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}