首页 > 编程语言 > 详细

冒泡排序两种实现方法

时间:2015-10-26 19:00:38      阅读:337      评论:0      收藏:0      [点我收藏+]
//从小到大:
//下标法:
#include <stdio.h>
int main()
{
 int i, j, t;
 int arr[10] = { 1, 3, 2, 9, 6, 7, 0, 4, 5, 8 };
 int len = sizeof(arr) / sizeof(arr[0]);
 for (i = 0; i < len-1; i++)
 {
  for (j = 0; j < len-i-1; j++)
  {
   if (arr[j] > arr[j+1])
   {
    t = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = t;
   }
  }
 }
 printf("排序后数组为:\n");
 for (i = 0; i < len; i++)
 {
  printf("%d ", arr[i]);
 }
 return 0;
}

//第二种方法:指针法
#include <stdio.h>
int maopao(int *arr,int len)
{
    int i, j, t;
 for (i = 0; i < len - 1; i++)
 {
  for (j = 0; j < len-i-1; j++)
  {
   if (*(arr+j )> *(arr+j+1))
   {
    t = *(arr + j);
    *(arr + j) = *(arr + j + 1);
    *(arr + j + 1) = t;
   }
  }
 }
 printf("排序后数组为:\n");
 for (i = 0; i < len; i++)
 {
  printf("%d ", *(arr+i));
 }
 printf("\n");
}
int main()
{
 int arr[10] = { 1, 4, 8, 0, 5, 7, 2, 9, 3, 6 };
 int len = sizeof(arr) / sizeof(arr[0]);
 maopao(arr, len);
 return 0;
}


冒泡排序两种实现方法

原文:http://10706198.blog.51cto.com/10696198/1706402

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!