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){
   for (int i = 0; i < count - 1; i++) {
       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 main(int argc, const char * argv[])
{
   int arr[5]={1,2,3,4,5};

   changeArray(arr, 5);
   return 0;
}


反转数组:

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]);
   }
}
int main(int argc, const char * argv[])
{

   @autoreleasepool {

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

   }
   return 0;
}






本文出自 “Ghost霍的��博客” 博客,谢绝转载!

你可能感兴趣的:(数组冒泡排序,反转数组,打乱数组)