冒泡排序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void bubbleSorting(int *arr,int arrLength){
for (int i = 0; i < arrLength; ++i) {
for (int j = 0; j < arrLength-i-1; ++j) {
if(arr[j]>arr[j+1]){
int temp = arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
int main(){
int arr[]={
3,9,-1,10,20};
int length = sizeof(arr)/sizeof(int);
printf("%d\n",length);
bubbleSorting(arr,length);
for (int i = 0; i < length; ++i) {
printf("%d ",arr[i]);
}
return 0;
}
选择排序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void selectedSorting(int* arr,int length){
for (int i = 0; i < length; ++i) {
int minNum = INT_MAX;
int index = 0;
for (int j = i; j < length; ++j) {
if(arr[j]<minNum){
minNum=arr[j];
index = j;
}
}
arr[index]=arr[i];
arr[i]=minNum;
}
}
int main() {
int arr[]={
8,3,2,1,7,4,6,5};
selectedSorting(arr, sizeof(arr)/ sizeof(int));
for (int i = 0; i < sizeof(arr)/ sizeof(int); ++i) {
printf("%d ",arr[i]);
}
return 0;
}
插入排序