网站建设资讯

NEWS

网站建设资讯

冒泡法排序c语言函数调用 冒泡排序c语言csdn

C语言编写函数用冒泡法对数组中10个整数由大到小排序,并在主函数中调用

#include stdio.h

创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为资阳企业提供专业的成都网站设计、成都网站制作、外贸网站建设资阳网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

void fun(int *num)

{

int temp;

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

for(int j=0; j10-i-1; ++j)

{

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

{

temp=num[j];

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

num[j+1]=temp;

}

}

}

void main()

{

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

fun(num);

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

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

}

1. 编写冒泡排序和选择排序的程序,主函数中编写菜单调用排序函数。C语言

//C语言示例代码如下

#include stdio.h

#define N 10

//冒泡排序(升序)

void bubble_sort(int a[],int n)

{

int i,j;  //j表示趟数,i表示第j趟两两比较的次数

int tmp; //临时变量

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

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

{

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

{

tmp=a[j];

a[j]=a[j+1];

a[j+1]=tmp;

}

}

}

//选择排序算法,按从小到大顺序

void select_sort(int *array,int n)

{

int i,j,k;

int tmp;

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

{

k=i;  //开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素

for(j=i+1;jn;j++)

{

if(array[k]  array[j]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k

k=j;

}

//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置

if(k != i)

{

tmp=array[k];

array[k]=array[i];

array[i]=tmp;

}

}

}

int main()

{

int arr[N];

int i;

printf("输入数组元素: ");

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

scanf("%d",arr[i]);

bubble_sort(arr,N);  //调用冒泡排序函数

printf("输出排序后的数组元素: ");

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

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

printf("\n输入数组元素: ");

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

scanf("%d",arr[i]);

select_sort(arr,N);  //调用选择排序函数

printf("输出排序后的数组元素: ");

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

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

printf("\n");

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语言函数调用 冒泡排序c语言csdn
分享网址:http://njwzjz.com/article/dojopji.html