分别⽤数组和指针两种⽅式对 10个整数由⼤到⼩排序。
//void bubble_sort(int arr[], int sz)
//{
// int i =0 ;
// for (i = 0; i < sz-1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - i - 1; j++)
// {
// if (arr[j]<arr[j+1])
// {
// int tmp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = tmp;
// }
// }
// }
//}
//void bubble_sort(int* arr, int sz)
//{
// int i = 0;
// for (i = 0; i < sz - 1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - i - 1; j++)
// {
// if (*(arr+j)<*(arr+j+1))
// {
// int tmp = *(arr + j);
// *(arr + j) = *(arr + j + 1);
// *(arr + j + 1) = tmp;
// }
// }
// }
//}
void bubble_sort(int* arr, int sz)
{
int* start = arr;
int* tail = arr + sz - 1;
//while(start<tail)
for (; start < tail; tail--)
{
for (; start < tail; start++)
{
int tmp = *start;
*start = *tail;
*tail = tmp;
}
//tail--
start = arr;
}
}
int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sz = sizeof(a) / sizeof(a[0]);
bubble_sort(a, sz);
system("pause");
return 0;
}
//void bubble_sort(int arr[], int sz)
//{
// int i =0 ;
// for (i = 0; i < sz-1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - i - 1; j++)
// {
// if (arr[j]<arr[j+1])
// {
// int tmp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = tmp;
// }
// }
// }
//}
//void bubble_sort(int* arr, int sz)
//{
// int i = 0;
// for (i = 0; i < sz - 1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - i - 1; j++)
// {
// if (*(arr+j)<*(arr+j+1))
// {
// int tmp = *(arr + j);
// *(arr + j) = *(arr + j + 1);
// *(arr + j + 1) = tmp;
// }
// }
// }
//}
void bubble_sort(int* arr, int sz)
{
int* start = arr;
int* tail = arr + sz - 1;
//while(start<tail)
for (; start < tail; tail--)
{
for (; start < tail; start++)
{
int tmp = *start;
*start = *tail;
*tail = tmp;
}
//tail--
start = arr;
}
}
int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sz = sizeof(a) / sizeof(a[0]);
bubble_sort(a, sz);
system("pause");
return 0;
}