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

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语言应用函数调用对n个数冒泡排序实现升序排列的程序编写#includestdio.h
int fun(int *a,int n);
【冒泡排序c语言调用函数 冒泡排序算法c语言代码】int main(void)
{ int a[30],n,i;
printf("n=");
scanf("%d",n); /*输入参与排序的数字的个数n*/
for(i=0;in;i++)
{ printf("a[%d]=",i);
scanf("%d",a[i]); /*依次输入这n个数*/
}
fun(a,n); /*调用自定义函数进行冒泡排序*/
for(i=0;in;i++) /*输出排序后的结果*/
printf("%d ",a[i]);
printf("\n");
}
int fun(int *a,int n)
{ int i,j,t;
for(i=0;in-1;i++) /*冒泡排序*/
for(j=0;jn-1;j++)
if(a[j]a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; }
/*如果后面的数小于前面的数,则将他俩交换次序*/
}
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语言调用函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于冒泡排序算法c语言代码、冒泡排序c语言调用函数的信息别忘了在本站进行查找喔 。

推荐阅读