0
点赞
收藏
分享

微信扫一扫

为字符串里的字符排序(采用最简单的选择法)

#include <stdio.h>
#include <string.h>
void swap(char *a,char* b);
int main(){
char str[100];
char min;
gets(str);
//printf("%s",str);
// min = str[0];
//printf("test 1");
for(int i = 0 ; i<strlen(str)-1;i++)
{
min = i;
for(int j = i+1;j<strlen(str);j++)
{
if(str[min]>str[j])
{
min = j;
}
}
swap(&str[i],&str[min]);
}
printf("%s",str);
}

void swap(char* a,char *b)
{
char str;
str = *a;
*a = *b;
*b = str;
}

顺带一提:(一个学渣的心得)

关于选择排序和冒泡排序(掌握这两个简单排序法,关键在于对控制条件的边界(起点和终点,遍历的过程中,可以类比成一个箭头针,从某一个起点,比较到终点;还有一组与之对应的被比较元素);注意,随着比交的趟次增加,两组边界都是单边收缩的变化,即又一边始终不变(每一趟都要从那个定边界开始比较,一个检查排序写法错误的指标就是利用是否单边收缩.)


举报

相关推荐

0 条评论