冒泡排序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://hbruida.cn/article/ddjpsde.html