优化的冒泡排序C代码

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  #include <stdio.h>

  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预处理指令

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答