为字符串里的字符排序(采用最简单的选择法)
#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; }
顺带一提:(一个学渣的心得)
关于选择排序和冒泡排序(掌握这两个简单排序法,关键在于对控制条件的边界(起点和终点,遍历的过程中,可以类比成一个箭头针,从某一个起点,比较到终点;还有一组与之对应的被比较元素);注意,随着比交的趟次增加,两组边界都是单边收缩的变化,即又一边始终不变(每一趟都要从那个定边界开始比较,一个检查排序写法错误的指标就是利用是否单边收缩.)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了