int count = 0;
printf("输出数组元素个数:\n");
scanf("%d",&count);
int arr[count];
for (int i = 0; i < count; i++)
{
arr[i] = arc4random()%10000;
}
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - i - 1; j ++) {
if (arr[j] > arr[j + 1]) {
第一种:中间变量交换
// int temp =arr [j];
// arr[j] = arr[j + 1];
// arr[j + 1] = temp;
第二种:和差变量交换
// arr[j] = arr[j] + arr[j + 1];
// arr[j + 1] = arr [j] - arr [j + 1];
// arr[j] = arr[j] - arr[j + 1];
第三种:异或交换
arr[j + 1] = arr[j] ^ arr[j + 1];
arr[j] = arr [j] ^ arr [j + 1];
arr[j + 1] = arr[j]^ arr[j + 1];
}
}
}
for (int i = 0; i < count; i++) {
printf("%d\t",arr[i]);
}
printf("\n");