//选择排序
int Select_Partition(int arr[],int low,int high)
{ int loc=low;//储存最小元素的下标位置
for(int i=low+1;i<=high;i++)
{if (arr[i]<arr[loc])
loc=i;
}
swap(arr[loc],arr[low]);
return low+1;
}
void SelectionSort(int arr[],int low,int high)
{int k;
if(low<high)
{k=Select_Partition(arr,low,high);//返回第k个已排好序的下标
SelectionSort(arr,k,high);
}
return;
}
int main()
{ int array1[]={2,4,3,6,15,7,9,13,7,34,2};
int sizearray = sizeof(array1) /sizeof(int);
//快速排序
int low=0;
int high=sizearray-1;
SelectionSort(array1,low,high);
for(int i=0;i<sizearray;i++)
cout << array1[i] << " ";
cout<<endl;
return 0;
}
选择排序-C++实现方法及可视化
最新推荐文章于 2024-05-20 02:51:06 发布