在 C 编程语言中,冒泡排序是最简单的排序技术,也称为交换排序。
冒泡排序过程
-
将第一个元素与列表中的其余元素进行比较,如果它们不按顺序进行交换(交换)。
-
对列表中的其他元素重复相同的操作列表,直到所有元素都已排序。
算法
下面给出的是一种算法,通过使用冒泡排序技术 -
第 1 步 - 开始
第 2 步 - 获取列表(数组),num
第 3 步− readlist(list,num)
第 4 步− printlist(list,num)
第5步 - bub_sort(list,num)
第6步 - printlist(list,num)
readlist (list, num)
登录后复制
第7步 − 停止
1. for j = 0 to num
2. read list[j].
登录后复制
打印列表(列表,数字)
1. for j =0 to num
2. write list[j].
登录后复制
bub_sort(列表,数字)
1. for i = 0 to num
2. for j =0 to (num – i)
3. if( list[j] > list[j+1])
4. swapList( address of list[j], address of list[j+1])
登录后复制
swapList( list[j]的地址, list[j+1]的地址)
1. temp = value at list[j]
2. value at list[j] = value at list[j+1]
3. value at list[j+1] = temp
登录后复制
示例
以下是用冒泡排序技术对给定数字列表进行升序排序的C程序
演示
#include
#define MAX 10
void swapList(int *m,int *n){
int temp;
temp = *m;
*m = *n;
*n = temp;
}
/* Function for Bubble Sort */
void bub_sort(int list[], int n){
int i,j;
for(i=0;i