"气泡选择排序结合法"、"气泡法"、"选择排序法"对输入的N个字符进行从小到大排序

本文深入探讨了三种不同的字符串排序算法:气泡选择排序结合法、起泡法和选择排序法。通过具体的C语言代码实现,详细解释了每种算法的工作原理和步骤,为读者提供了深入理解字符串排序机制的机会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <string.h>
#define N 100
int main(){

void sort1(char str[]);//以第一种方法为例
char str[N];
gets(str);
sort1(str);
puts(str);
return 0;

}

//气泡选择排序结合法
void sort1(char str[]){

int i,j,n;
char t;
n=strlen(str);
printf("%d\n",n);
for(i=0;i<n-1;i++)
	for(j=i+1;j<n;j++)
		if(str[i]>str[j]){
			t=str[i];
			str[i]=str[j];
			str[j]=t;
		}

}

//起泡法
void sort2(char str[]){

int i,j,n;
char t;
n=strlen(str);
for(j=n-1;j>=1;j--)
	for(i=0;i<j;i++)
		if(str[i]>str[i+1]){
			t=str[i];
			str[i]=str[i+1];
			str[i+1]=t;
		}

}

//选择排序法
void sort3(char str[]){

int i,j,n,k;
char t;
n=strlen(str);
for(i=0;i<n-1;i++){
	k=i;
	for(j=i+1;j<n;j++)
		if(str[k]>str[j]) 
			k=j;
	if(k!=i){
		t=str[i];
		str[i]=str[k];
		str[k]=t;
	}
}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值