排序算法多样化选择,以简洁实用为主的有哪些?

数组当中存放多个数据(元素),类型必须统一。(如果定义的是int类型,那么里面的所有元素都必须是int类型);排序算法有很多种,哪一种算法会更加实用一些

冒泡排序最为经典,解题方法也很多种思路;以下示例仅供参考:


//数组的排序 - 冒泡排序
int main()
{
   int   a[5] = {2,5,6,3,-1};
   int n = sizeof(a) / sizeof(a[0]);
   for (int i = 0; i < n - 1; i++)//比较的轮数
   {
      //因为每次比较的次数都要减1,刚好i每次加1,所以每一轮 比较的次数是n-1-i
      for (int j = 0; j < n-1-i;j++ )//每一轮需要比较的次数
      {
         if (a[j] > a[j + 1])//如果前面的元素比后面的元素大,则交换位置
         {
            int tmp = a[j + 1];
            a[j + 1] = a[j];
            a[j] = tmp;
         }        
      }
   }
   for (int i = 0; i < n; i++)
   {
      printf("%d ",a[i]);
   }
   printf("\n");
   system("pause");
   return 0;
}

高效学习C语言可以看我的主页或者专栏 https://blog.csdn.net/gzplyx?type=blog