C语言求冒泡排序函数 简单冒泡排序算法c语言

C语言冒泡排序法

冒泡排序每一趟排序把最大的放在最右边。

创新互联服务项目包括齐河网站建设、齐河网站制作、齐河网页制作以及齐河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,齐河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到齐河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

比如:

87 12 56 45 78

87和12交换:12 87 56 45 78

87和56交换:   56 87 45 78

87和45交换:      45 87 78

87和78交换:         78 87

到此第一趟排序结束,接下来的每一趟排序都是这样。

#includestdio.h

void Print(int *num, int n)

{

int i;

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

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

puts("\n");

return;

}

void Bubble_Sort(int *num, int n)

{

int i, j;

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

{

for(j = 0; i + j  n - 1; j++)

{

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

{

int temp = num[j];

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

num[j + 1] = temp;

}

Print(num, n);

}

}

return;

}

int main()

{

int num[8] = {87, 12, 56, 45, 78};

Bubble_Sort(num, 5);

return 0;

}

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语言冒泡排序法求教

我去,弄了那么久,终于知道错在那了!

#includestdio.h

void sort(int b[],int n)

{

int temp,i,j;

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

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

if(b[j]b[j+1])

{

temp=b[j];

b[j]=b[j+1];

b[j+1]=temp;

}

}

void main()

{

int n,i;

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

n=sizeof(a)/sizeof(int);

sort(a,n);

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

printf("%d ",a[i]);

printf("\n");

}

c语言冒泡排序求解

冒泡排序:

/* 第一次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3],arr[3]与arr[4]比较4次

第二次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3]比较3次

第三次:arr[0]与arr[1],arr[1]与arr[2]比较2次

第四次:arr[0]与arr[1]比较1次

*/

public static void bubbleSort(int[] arr) {

for (int i = 0; i arr.length - 1; i++) { //外循环只需要比较arr.length-1次就可以了

for (int j = 0; j arr.length - 1 - i; j++) { //-1为了防止索引越界,-i为了提高效率

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

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j+1] = temp;

}

}

}

}

C语言冒泡排序算法 要用函数

从小到大排序

void paixu(double a[],int N)

{

double temp;

int i,j;

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

{

for(j=i+1;jN-i;j++)

{

if(a[i]a[j])

{temp=a[i];a[i]=a[j];a[j]=temp;}

}

}

}

把楼上的改改,减少浪费,欢迎拍砖

C语言冒泡排序

C语言冒泡排序法的排序规则:将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。初始 R[1..n]为无序区。第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key void sort(int *a,int len) {int i=0; int j; int t; for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } } int main(int argc, char *argv[]) { int a[10]={ -999,2,3,77,12,88,0,-8,99,100 }; int i=0; sort(a,10); for(i=0;i10;i++) { printf("%d ",a[i]); } return 0; }


文章标题:C语言求冒泡排序函数 简单冒泡排序算法c语言
文章起源:http://scyanting.com/article/docgdpd.html