以下是引用w114725053在2007-1-3 11:17:37的发言:
那选择排序和冒泡有什么区别呢??
选择排序是一种排序方法的类型.
冒泡排序属于交换排序的一种.
My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
#include <stdio.h>
#define N 5
void main()
{
int i=0,j=0,temp=0; // 冒泡排序需要的相应变量,i和j循环变量,temp中间颠倒的变量
int grade[N]={0}; // 排列的数组
printf("请输入学员的成绩\n",N); // 为数组赋值
for(i=0;i<N;i++)
{
printf("第%d个为:", i+1);
scanf("%d",&grade[i]);
fflush(stdin);
}
// 排序公式版
for(i=N-2;i>=0;i--)// 表达式中循环变量的写法是公式?
{
for(j=N-1;j>=N-1-i;j--) // 表达式中循环变量的写法是公式?
{
if (grade[j]<grade[j-1]) // 这里的<号或者>号,决定了是排序的顺序
{
// 交换值-得固定模式
temp=grade[j];
grade[j]=grade[j-1];
grade[j-1]=temp;
}
}
}
// 显示排序结果
printf("排列后的成绩为:\n");
for(i=0;i<N;i++)
{
printf("%5d",grade[i]);
}
printf("\n");
}