设为首页 加入收藏

TOP

优化的冒泡排序C代码
2014-11-23 17:38:52 】 浏览:5870
Tags:优化 冒泡 排序 代码

  #include


  void bsort(char *arr, int len)


  {


  int i, j, k, t, cnt = 0;;


  for(i = len - 1; i > 0; i = k) {


  for (j = 0, k = 0; j < i; j++) {


  if (*(arr + j) > *(arr + j + 1)) {


  t = *(arr + j);


  *(arr + j) = *(arr + j + 1);


  *(arr + j + 1) = t;


  k = j;


  }


  }


  cnt++;


  }


  printf("cycle %d\n", cnt);


  }


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


  {


  int i = 0;


  char arr[10] = {3, 2, 5, 4, 4, 5, 6, 7, 8, 9};


  while (i < 10) {


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


  }


  i = 0;


  putchar('\n');


  bsort(arr, 10);


  while (i < 10) {


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


  }


  putchar('\n');


  }


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Pragma预处理指令 下一篇stdin,stdout,stderr详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目