C 字符串数组排序的小例子

代码如下:

#include<stdio.h>
#include<string.h>
#include <malloc.h>
void q_sortB(char str[20][20], int n);
void qs(char str[20][20],int n);

void main() {
    int i, n;
    char str[20][20] = { { "Adam" }, { "Bob" }, { "Dimen" }, { "Colin" }, {
            "Correal" }, { "Sick" }, { "Rachel" } };

char * str1[20]= { { "Adam" }, { "Bob" }, { "Dimen" }, { "Colin" },
            { "Correal" }, { "Sick" }, { "Rachel" } };
    qs(str,7);
    q_sortB(str, 7);
    for (i = 0; i < 7; i++){
        printf("%s\n", str[i]);
    }

}

void qs(char str[20][20],int n){
    char temp[20];
    int i=0;
    int j=0;
    int min=i;
    for(i=0;i<n-1;i++){
        min=i;
        for(j=i;j<n;j++){//本次找最小值的范围是从i开始  到最末尾
            if(  strcmp(str[j],str[min])==-1  ){
                min=j;
            }
        }
        //此时min指向最小的
        //那么应该把min放在已排序部分的后一个//也就是本次排序的第一个
        strcpy(temp,str[i]);
        strcpy(str[i],str[min]);
        strcpy(str[min],temp);

}
}

//泡泡
void q_sortB(char str[20][20], int n) {
    char a[20];
    int i, j;
    for (i = 0; i < n-1; i++) {
        for (j = i ; j < n-1; j++)
            if (strcmp(str[j], str[j + 1]) > 0) {
                strcpy(a, str[j]);
                strcpy(str[j], str[j + 1]);
                strcpy(str[j+1], a);
            }
    }

}

(0)

相关推荐

  • Linux fgetcsv取得的数组元素为空字符串的解决方法

    但服务器上,很多使用Linux服务器,源程序使用UTF-8,这样很容易产生字符编码的问题. 如果仅仅将CSV文件转码为UTF-8,这样在Windows服务器上没有问题, 而在RedHat5.5上,用fgetcsv取得的数组中,如果某列的内容是中文,则该列对应的数组元素为空字符串,而英文则正常. 这时,需要设置区域: setlocale(LC_ALL, 'zh_CN.UTF-8'); 代码如下 复制代码 代码如下: // 上传的CSV文件,通常是用Excel编辑的GBK编码, // 而源代码是UT

  • C#几种截取字符串的方法小结

    1.根据单个分隔字符用split截取 例如 复制代码 代码如下: string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sArray[0]="GT123",sArray[1]="1"; 2.利用多个字符来分隔字符串 例如 复制代码 代码如下: string str = "GTAZB_JiangjBen_123";string[] sArray = s

  • c语言中用字符串数组显示菜单的解决方法

    以前写菜单方面东西时往往重复, 发现这个方法还可以, 用一个指针的指针解决遍历问题.代码如下所示: 复制代码 代码如下: #include <stdio.h>static char *menu[] = {  "1 --- push one item./n",  "2 --- pop one item./n",  "3 --- quit./n",  NULL};void Show_menu();int main(){ Show_menu

  • C# Stream 和 byte[] 之间的转换

    /* - - - - - - - - - - - - - - - - - - - - - - - -   * Stream 和 byte[] 之间的转换  * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte[] StreamToBytes(Stream stream) {     byte[] bytes 

  • IE6/7/8中Option元素未设value时Select将获取空字符串

    如下 复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <title>IE6/7/8中Option元素未设value时Select将获取空字符串</title> </head> <body> <select onchange="alert(this.value)"> <option>one</option> <option>

  • Objective-C处理空字符串和页面传值及自定义拷贝

    空字符串 在ios应用中,如果从网络请求数据,返回json或者是xml格式的数据时,经常会遇到空串,一般接口是用java等语言写的,如果是安卓,因为源语言都是java,只需判断是否等于null即可,但是在ios中会出现各种各项的形式,比如null,(null),<null>. 如果单纯用 复制代码 代码如下: string!=nil; 无法判断出尖括号的空串 完整判断方法 复制代码 代码如下: -(BOOL)isNull:(id)object {     // 判断是否为空串     if (

  • Oracle数据库中对null值的排序及mull与空字符串的区别

    order by排序之null值处理方法 在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前.所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理. 这是四种oracle排序中NULL值处理的方法: 1.使用nvl函数 语法:Nvl(expr1, expr2)     若EXPR1是NULL,

  • 总结C#删除字符串数组中空字符串的几种方法

    前言 随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.但C#3.0新增的lambda表达式就可以很方便实现这个功能,下面一起看看为大家整理的几种清除数组中的空字符串的方法,有需要的可以参考学习. 方式一:使用lambda表达式筛选过滤掉数组中空字符串 /// <summary> /// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串 /// </summary> //

  • C 字符串数组排序的小例子

    复制代码 代码如下: #include<stdio.h>#include<string.h>#include <malloc.h>void q_sortB(char str[20][20], int n);void qs(char str[20][20],int n); void main() {    int i, n;    char str[20][20] = { { "Adam" }, { "Bob" }, { "

  • js中通过split函数分割字符串成数组小例子

    复制代码 代码如下: <script language="javascript"> str="2,2,3,5,6,6"; //这是一字符串 var strs= new Array(); //定义一数组 strs=str.split(","); //字符分割 for (i=0;i<strs.length ;i++ ) { document.write(strs[i]+"<br/>"); //分割后的

  • 基于Spring MVC 简介及入门小例子(推荐)

    一.什么是 Spring MVC Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面,是一个强大灵活的 Web 框架.Spring MVC 提供了一个 DispatcherServlet 作为前端控制器来分配请求.通过策略接口,Spring 框架是高度可配置的.Spring MVC 还包含多种视图技术,如 Java Server Pages(JSP).Velocity.Tiles.iText 和 POI 等.Spring MV

  • 基于vue-cli、elementUI的Vue超简单入门小例子(推荐)

    这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单的介绍,其实和Vue官方的差不多. #如若没有安装过vue-cli,先全局安装一下vue-cli $ cnpm i -g vue-cli #到自己喜欢的目录下创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # # #之后会有如下询问 ? Project name (my-project) #回车 ? Pro

  • Python正则表达式学习小例子

    正则表达式是处理字符串的强大工具.作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. (1)匹配1-100之间的数 import re s = '100' # 1-100内的任意数字 ret = re.match(r'(100|[1-9]\d{0,1})$',s) print(ret.group()) (100|[1-9]\d{0,1})$ 100可以匹配100 | 或者匹配[1-9]中的一个数,然后后面\d是数字

  • 100 个 Python 小例子(练习题二)

    目录 实例031:字母识词 实例032:反向输出II 实例033:列表转字符串 实例034:调用函数 实例035:设置输出颜色 实例036:算素数 实例037:排序 实例038:矩阵对角线之和 实例039:有序列表插入元素 实例040:逆序列表 实例041:类的方法与变量 实例042:变量作用域 实例043:作用域.类的方法与变量 实例044:矩阵相加 实例045:求和 实例046:打破循环 实例047:函数交换变量 实例048:数字比大小 实例049:lambda 实例050:随机数 实例03

  • 100 个 Python 小例子(练习题一)

    目录 实例001:数字组合 实例002:"个税计算" 实例003:完全平方数 实例004:这天第几天 实例005:三数排序 实例006:斐波那契数列 实例007:copy 实例008:九九乘法表 实例009:暂停一秒输出 实例010:给人看的时间 实例011:养兔子 实例012:100到200的素数 实例013:所有水仙花数 实例014:分解质因数 实例015:分数归档 实例016:输出日期 实例017:字符串构成 实例018:复读机相加 实例019:完数 实例020:高空抛物 实例0

  • 100 个 Python 小例子(练习题三)

    目录 实例051:按位与 实例052:按位或 实例053:按位异或 实例054:位取反.位移动 实例055:按位取反 实例056:画圈 实例057:画线 实例058:画矩形 实例059:画图(丑) 实例060:字符串长度 例061:杨辉三角 实例062:查找字符串 实例063:画椭圆 实例64:画椭圆.矩形 实例065:画组合图形 实例066:三数排序 实例067:交换位置 实例068:旋转数列 实例069:报数 实例070:字符串长度II 实例071:输入和输出 实例072:创建链表 实例07

  • 100 个 Python 小例子(练习题四)

    目录 实例076:做函数 实例077:遍历列表 实例078:字典 例079:字符串排序 实例080:猴子分桃 实例081:求未知数 实例082:八进制转十进制 实例083:制作奇数 实例084:连接字符串 实例085:整除 实例086:连接字符串II 实例087:访问类成员 实例088:打印星号 实例089:解码 实例090:列表详解 实例091:time模块 实例092:time模块II 实例093:time模块III 实例094:time模块IV 实例095:转换时间格式 实例096:计算复

  • JS中Eval解析JSON字符串的一个小问题

    之前写过一篇 关于 JSON 的介绍文章,里面谈到了 JSON 的解析.我们都知道,高级浏览器可以用 JSON.parse() API 将一个 JSON 字符串解析成 JSON 数据,稍微欠妥点的做法,我们可以用eval() 函数. JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON的规则很简单:

随机推荐