冒泡排序c语言代码主函数 冒泡排序算法c语言代码

用数组作函数参数,定义一个实现冒泡排序的函数,在主函数中完成数据的输入和输出.

c语言的代码如下:

10年的桃山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整桃山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“桃山网站设计”,“桃山网站推广”以来,每个客户项目都认真落实执行。

#includestdio.h

void Bubble_Sort(int num[50],int n){//传入数组和数组的大小,冒泡排序函数

int i,j,temp;

for(i=0;in;i++){

for(j=0;jn-1-i;j++){

if(num[j]num[j+1]){

temp=num[j];

num[j]=num[j+1];

num[j+1]=temp;

}

}

}

}

int main(){   //主函数

int num[50];

int n,i;

scanf("%d",n);

for(i=0;in;i++){

scanf("%d",num[i]);  //输入数据

}

Bubble_Sort(num,n);  //调用函数

for(i=0;in;i++){

printf("%d ",num[i]);   //输出

}

return 0;

}

扩展资料

其他排序算法

1、插入排序

插入排序:已知一组升序排列数据a[1]、a[2]、……a[n],一组无序数据b[1]、b[2]、……b[m],需将二者合并成一个升序数列。首先比较b[1]与a[1]的值,若b[1]大于a[1],则跳过,比较b[1]与a[2]的值;

若b[1]仍然大于a[2],则继续跳过,直到b[1]小于a数组中某一数据a[x],则将a[x]~a[n]分别向后移动一位,将b[1]插入到原来a[x]的位置这就完成了b[1]的插入。b[2]~b[m]用相同方法插入。(若无数组a,可将b[1]当作n=1的数组a)

2、希尔排序

由希尔在1959年提出,又称希尔排序(shell排序)。已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。发现当n不大时,插入排序的效果很好。

首先取一增量d(dn),将a[1]、a[1+d]、a[1+2d]……列为第一组,a[2]、a[2+d]、a[2+2d]……列为第二组……,a[d]、a[2d]、a[3d]……列为最后一组以次类推,在各组内用插入排序,然后取d'd,重复上述操作,直到d=1。

参考资料来源:百度百科-排序

C语言编程——冒泡排序法,要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了

#include stdio.h

#define MAXE 20 //线性表中最多元素个数

typedef int KeyType;

typedef char InfoType[10];

typedef struct //记录类型

{

KeyType key; //关键字项

InfoType data; //其他数据项,类型为InfoType

} RecType;

void BubbleSort(RecType R[],int n) //冒泡排序算法

{

int i,j,k;

RecType temp;

for (i=0;in-1;i++)

{

for (j=n-1;ji;j--) //比较,找出本趟最小关键字的记录

if (R[j].keyR[j-1].key)

{

temp=R[j];

//R[j]与R[j-1]进行交换,将最小关键字记录前移

R[j]=R[j-1];

R[j-1]=temp;

}

printf(" i=%d ",i); //输出每一趟的排序结果

for (k=0;kn;k++)

printf("%2d",R[k].key);

printf("\n");

}

}

void main()

{

int i,k,n=10;

KeyType a[]={9,8,7,6,5,4,3,2,1,0};

RecType R[MAXE];

for (i=0;in;i++)

R[i].key=a[i];

printf("\n");

printf(" 初始关键字 "); //输出初始关键字序列

for (k=0;kn;k++)

printf("%2d",R[k].key);

printf("\n");

BubbleSort(R,n);

printf(" 最后结果 "); //输出初始关键字序列

for (k=0;kn;k++)

printf("%2d",R[k].key);

printf("\n\n");

}

数字你可以自己改

C语言冒泡排序法代码

冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。这里以从小到大排序为例进行讲解。基本思想及举例说明

冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较就,选出最大的数;经过第2轮比较,就选出次大的数,以此类推。下面以对 3 2 4 1 进行冒泡排序说明。

1.这个算法用rand函数产生新的要排序的数据,与已有的有序数列中的数据依次比较,如果遇到比他大的数据,就从该数据开始,一直交换到末尾,达到一个插入的效果。从而形成有序的数列。

2.此外,只用rand函数并不能达到真正随机的效果。如果要实现真正随机的效果,还要配合srand函数才行。

3.具体代码如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("请输入一个种子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i++) 。


网站标题:冒泡排序c语言代码主函数 冒泡排序算法c语言代码
标题网址:http://ybzwz.com/article/ddjpsde.html