对数组进行冒泡排序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void Print_Array(int arr[], int left, int right)
{
int i;
for (i = left; i < right; i++)
{
printf("%d\t", arr[i]);
}
printf("\n");
}
void Sory_Array(int arr[], int left, int right)
{
for (int i = left; i < right - 1; i++)
{
for (int j = left; j < right + left - 1 - i; j++)
{
if (arr[j] < arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int arr[10] = { -1,10,-7,9,2,8,7,6,5,4 };
printf("The array is : ");
Print_Array(arr, 0, 10);
Sory_Array(arr, 0, 10);
printf("The sorted array is : ");
Print_Array(arr, 0, 10);
return 0;
}
逆置数组
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void Init_Array(int arr[], int left, int right)
{
for (int i = left; i < right; i++)
arr[i] = 0;
}
void Print_Array(int arr[], int left, int right)
{
int i;
for (i = left; i < right; i++)
{
printf("%d\t", arr[i]);
}
printf("\n");
}
void Reverse_Array(int arr[], int left, int right)
{
right--;
while (left < right)
{
arr[left] = arr[left] ^ arr[right];
arr[right] = arr[left] ^ arr[right];
arr[left] = arr[left] ^ arr[right];
left++;
right--;
}
}
int main()
{
int arr[10] = { 1,4,7,0,2,5,8,3,6,9 };
Print_Array(arr, 0, 10);
Reverse_Array(arr, 0, 10);
Print_Array(arr, 0, 10);
Init_Array(arr, 0, 10);
Print_Array(arr, 0, 10);
return 0;
}
交换两长度相同的数组
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void Init_Array(int arr[], int left, int right)
{
for (int i = left; i < right; i++)
arr[i] = 0;
}
void Print_Array(int arr[], int left, int right)
{
int i;
for (i = left; i < right; i++)
{
printf("%d\t", arr[i]);
}
printf("\n");
}
void swap_Array(int arr1[], int arr2[],int left,int right)
{
for (int i = left; i < right; i++)
{
int temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
}
int main()
{
int arr1[10] = { 1,4,7,0,2,5,8,3,6,9 };
int arr2[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("Before arr1 : > ");
Print_Array(arr1, 0, 10);
printf("Before arr2 : > ");
Print_Array(arr2, 0, 10);
swap_Array(arr1, arr2, 0, 10);
printf("After arr1 : > ");
Print_Array(arr1, 0, 10);
printf("After arr2 : > ");
Print_Array(arr2, 0, 10);
return 0;
}