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

#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;
}

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

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

posted @   xuchaoxin1375  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示