通过c语言鼓泡实现排序方法(升序排序方法) ) ) ) ) ) ) ) )。
发布时间: 2020-09-19 18:53:46
资料来源:剧本之家
阅读: 108
作者: Geek宝宝
任务代码:
数字排序:
#包含
#define SIZE 10
int main () )
{
inta [ size ]={ 12,43,9,13,67,98,101,89,3,35 }; //10个无序数列
int i,j,t;
printf (这个程序使用气泡排序法排列无序的数列! n ';
//泡沫排序
for(I=0; i10-1; I ) ) /扫描n个数列共n-1次
{
for(j=0; j10-i-1; j(//各扫描在比较a[n-i-2]和a[n-i-1]之前结束
{
(if(a ) if(a ) j1 ) ) /如果下一位小于前一位,则交换两个数量的位置(升序) ) ) ) ) ) ) ) 65
{
t=a[j 1];
a[j 1]=a[j];
a[j]=t;
}
}
}
printf (排列的数列为(n ) );
//输出像吃数列一样排列
for(I=0; i10; I )
{
printf('%d ',a[i] );
}
返回0;
}
字符排序:
#包含
#define SIZE 10
int main () )
{
char a[SIZE]={'i '、' l '、' o '、' v '、' e '、' y '、' o '、' u '、' y '、' x'}; //10个无序数列
int i,j;
char t;
printf (这个程序使用气泡排序法排列无序的数列! n ';
//泡沫排序
for(I=0; i10-1; I ) ) /扫描n个数列共n-1次
{
for(j=0; j10-i-1; j(//各扫描在比较a[n-i-2]和a[n-i-1]之前结束
{
(if(a ) if(a ) j1 ) ) /如果下一位小于前一位,则交换两个数量的位置(升序) ) ) ) ) ) ) ) 65
{
t=a[j 1];
a[j 1]=a[j];
a[j]=t;
}
}
}
printf (排列的字符组为n );
//输出像吃数列一样排列
for(I=0; i10; I )
{
printf('%c ',a[i] );
}
返回0;
}
使用函数解决这个问题:
#包含
语音函数(chara [ ],int ); //请注意,此处的函数声明必须为char a[]。 这里穿着地址,所以不能只用char
int main () )
{
int i;
char a[10]={'i '、' l '、' o '、' v '、' e '、' y '、' o '、' u '、' y '、' x'}; //10个无序字符串
printf (这个程序使用气泡排序法排列无序的数列! n ';
功能(a,10 ); //调用气泡排序
printf (排列的字符组为n );
//输出像吃数列一样排列
for(I=0; i10; I )
{
printf('%c ',a[i] );
}
返回0;
}
语音函数(chara [ ],int m ) )。
{
//泡沫排序
int i,j;
char t;
for(I=0; I
{
for(j=0; Jj
{
(if(a ) if(a ) j1 ) ) /如果下一位小于前一位,则交换两个数量的位置(升序) ) ) ) ) ) ) ) 65
{
t=a[j 1];
a[j 1]=a[j];
a[j]=t;
}
}
}
返回;
}
执行情况:
知识总结:
气泡排序法:也称为升序排序法,但二分法搜索仅适用于有序数列。 另外,如何使无序数列有序可以使用气泡排序法。
总结上述过程。
这一思想持续出现的解法如下。
实例:
气泡排序不仅适用于数字,还适用于字母快速排序。
希望以上是正文的全部内容,对大家的学习有帮助。 另外,希望大家多多支持亿速云。