通过学习慕课网的算法,现在对选择排序和插入排序进行了整理,包含数字的简单排序和插入排序
//对数字的选择排序
void selectsort(int arr[],int n){
for(int i=0;i<n;i++){
int minindex=i;
for(int j=i+1;j<n;j++){
if(arr[j]<arr[minindex])
minindex=j;
swap(arr[i],arr[minindex]);
}
}
}
//对数字的插入排序
void insertionSort(int arr[],int n){
for(int i=1;i<n;i++){
for(int j=i;j>0 && arr[j]<arr[j-1];j--){
swap(arr[j],arr[j-1]);
}
}
}
// 插入排序的优化
void insertionSort(int arr[],int n){
for(int i=1;i<n;i++){
int e=arr[i];
for(int j=i;j>0 && arr[j-1]>e;j--){
arr[j]=arr[j-1];
}
arr[j]=e;
}
}
int main(){
int a[10]={10,9,8,7,6,5,4,3,2,1};
selectsort(a,10);
for(int i=0;i<10;i++){
count<<a[i]<<"";
}
count<<endl;
return 0;
}
其中,swap 是交换的意思