天天看点

C 数组冒泡排序,打乱数组,反转数组

数组冒泡排序:

void bubbleSort(int * arr,int count)

{

   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;

           }

       }

   }

       for (int i = 0; i < count; i++) {

           printf("arr[%d] = %d ",i,arr[i]);

}

int main(int argc, const char * argv[])

   int arr[5]= {56,45,31,12,789};

   bubbleSort(arr, 5);

   return 0;

打乱数组:

void changeArray(int * arr,int count){

       int r = arc4random() % (count - i - 1);

       int temp = arr[r];

       arr[r] = arr[count - 1 - i];

       arr[count - 1 - i] = temp;

   for (int i = 0; i < count ; i++) {

       printf("a[%d] = %d\n",i,arr[i]);

   int arr[5]={1,2,3,4,5};

   changeArray(arr, 5);

反转数组:

void array(int  * a,int count)

   for (int i = 0; i < count/2; i++) {

       int temp = a[i];

       a[i] = a[count - i - 1];

       a[count - i - 1] = temp;

   for (int i = 0; i < count ; i ++) {

       printf("a[%d] = %d ",i,a[i]);

   @autoreleasepool {

       int a[5] = {1,2,3,4,5};

       array(a, 5);