void swap(int *a, int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
/*冒泡排序: 升级版 c */
void bubbleSort(int arr[], int n)
{
int i, j;
int min=arr[0];
int left=0;
for (i = left; i < n - 1; i++)
{
int flag =0;
int min_pos=left;
//int min=arr[left];
for (j = left; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;
flag |=1;
}
if( arr[min_pos]>arr[j]){min_pos=j; flag |=2;}//升级综合 选择排序
}
if(flag>1)//最小值 就位
{
int temp = arr[left]; arr[left] = arr[min_pos]; arr[min_pos] = temp;
}
else if(flag==0 )return;//无交换 结束
++left ;
}
}
//选择排序,,优于冒泡法:
void SelectSort(int* arr, int n) //arr为数据数组,n为数组长度
{
for (int i = 0; i < n-1; i++) {
int min = i;
int max=0;
for (int j = i; j < n; j++) {
if (arr[min] > arr[j]) {
min = j;