page contents

C-冒泡排序

冒泡排序的原理及实现冒泡排序

冒泡排序的规则:n个数据进行冒泡排序,

首先将第一个数据和第二个数据进行比较,如果为逆序就交换两个数据的值,

然后比较第二个和第三个数据,

依此类推,直到第最后一个和倒数第二个比较完了为止。

上述过程为冒泡排序的第一趟冒泡排序,

其结果是最大或者最小的数据被放置在末尾的位置。

然后进行第二趟排序,把第二大或者第二小的数放置在倒数第二的位置,

之后每一趟排序都会使一个数据有序,

直到此序列的全部数据都有序为止。

代码示例:

#include <stdio.h>

#include<time.h>

/*冒泡排序*/

main(){

//定义无序数组

srand((unsigned)time(NULL));

int arr[10];

for (int i = 0; i < 10; i++)

{

arr[i] = rand() % 100;

printf("arr[%d]:%d\n", i, arr[i]);

}

//排序

for (int i = 9; i>0; i--)//外循环 趟数

{

for (int j = 0; j < i; j++)//每趟要做的事

{

//比较大小

//当前者比后者大 则交换

if (arr[j]>arr[j + 1])

{

arr[j] = arr[j] ^ arr[j + 1];//实现前者与后者的共同点

arr[j + 1] = arr[j] ^ arr[j + 1];//使用共同点得到前者

arr[j] = arr[j] ^ arr[j + 1];//使用共同点得到后者

}

}

}

printf("-------------------------------\n");

printf("交换后:\n");

for (int i = 0; i < 10; i++)

{

printf("arr[%d]:%d\n", i, arr[i]);

}

}

  • 发表于 2021-08-09 17:08
  • 阅读 ( 414 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
文双
文双

NB

71 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. Pack 1131 文章
  3. 小柒 1046 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章