多囊怀孕成功经验分享:程序利用函数sort( )用“冒泡法”对一组数按照从小到大顺序排序,请编写sort( )函数。

来源:百度文库 编辑:高校问答 时间:2024/05/05 09:56:14
#include "stdio.h"
void sort(int x[ ],int n)
{

}
void main( )
{ int a[10]={2,14,44,1,22,16,10,9,28,6};
int i;
sort(a,10);
for (i = 0 ; i < 10 ; i++)
printf("%d ",a[i]);
printf("\n");
}
void sort(int x[],int n)
{ int i,t;
for ( i=0; i<n; i++)
for ( j=0; j<n-1-i; j++)
if (x[j]>x[j+1])
{ t=x[j];x[j]=x[j+1];x[j+1]=t;
}

我是初学者,大家帮我填一下下,谢谢

#include <stdio.h> //头文件
main()
{
void sort(int x[],int n); 声明函数
int *p,i,a[10];
p=a; p指向a的第一个元素
for(i=0;i<10;i++)
scanf("%d",p++); 输入10个整数,作为a[10]的值
p=a; q指向a的首地址
sort(p,10); 对a的10个元素进行排序
for(p=a,i=0;i<10;i++)
{printf("%d",*p);p++;} 打印出a的所有数值
}
void sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++) 访问数组中每个成员
if(x[j]>x[k]) k=j; 如果后一个元素比前一个大,则k的值为最大元素的序号
if(k!=i)如果后一个比前一个大
{t=x[i]; t是临时中间变量,把x[i]的值存在t中
x[i]=x[k]; 把x[k]的值赋给x[i],即后者比前者大的情况下,交换两者的位置
x[k]=t;把先前x[i]的值赋给x[k]
}
}

template <typename T,int size> void Orderedlist<T,size>::BubbleSort(){
bool noswap;
int i,j;
Node<T> temp;
for (i=0;i<last;i++){//最多做n-1趟
noswap=true; //未交换标志为真
for(j=last;j>i;j--){//从下往上冒泡
if(slist[j].key<slist[j-1].key){
temp=slist[j];
slist[j]=slist[j-1];
slist[j-1]=temp;
noswap=false;
}
}
if(noswap) break; //本趟无交换,则终止算法。
}
}

这是C++ 程序的一个模板。