c语言的代码如下:
#include<stdio.h>
void Bubble_Sort(int num[50],int n){//传入数组和数组的大小,冒泡排序函数
int i,j,temp;
for(i=0;i<n;i++){
for(j=0;j<n-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;i<n;i++){
scanf("%d",&num[i]); //输入数据
}
Bubble_Sort(num,n); //调用函数
for(i=0;i<n;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(d<n),将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++语言来编写
本回答被提问者采纳