简单选择排序
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr[] ={5,6,8,2,3,4,9};
for(int i =0;i<7;i++){
for (int j=i+1;j<7;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int i =0;i<7;i++) printf("%d",arr[i]);
char ca;
scanf("%c",&ca);
}
冒泡排序
冒泡排序
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr[] ={5,6,8,2,3,4,9};
for(int i=0;i<7;i++){
for(int j=0;j<7-i;j++){
if(arr[j-1]>arr[j]){
int temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
for(int i =0;i<7;i++) printf("%d",arr[i]);
char ca;
scanf("%c",&ca);
}
插入排序
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr[] ={5,6,8,2,3,4,9};
for(int i=1;i<7;i++){
for(int j=i;j>0;j--){
if(arr[j]<arr[j-1]){
int temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;}
else break;
}
}
for(int i =0;i<7;i++) printf("%d",arr[i]);
char ca;
scanf("%c",&ca);
}
快速排序
快速排序
#include<stdio.h>
#include<stdlib.h>
int Partition(int low ,int high,int arr[]){
int p=arr[low];
while(low<high){
while(low<high&&arr[high]>=p) high--;
arr[low]=arr[high];
while(low<high&&arr[low]<=p)low++;
arr[high]=arr[low];
}
arr[low]=p;
return low;
}
void kuaipai(int arr[],int low,int high){
if(low<high){
int p=Partition(low,high,arr);
kuaipai(arr,low,p-1);
kuaipai(arr,p+1,high);
}
}
int main(){
int arr[] ={5,6,8,2,3,4,9};
kuaipai(arr,0,6);
for(int i =0;i<7;i++) printf("%d",arr[i]);
char ca;
scanf("%c",&ca);
}