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

Florence ·
更新时间:2024-09-21
· 544 次阅读

代码如下:
#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);
            }
    }

}

您可能感兴趣的文章:c语言中用字符串数组显示菜单的解决方法Oracle数据库中对null值的排序及mull与空字符串的区别Objective-C处理空字符串和页面传值及自定义拷贝Linux fgetcsv取得的数组元素为空字符串的解决方法IE6/7/8中Option元素未设value时Select将获取空字符串C#几种截取字符串的方法小结C# Stream 和 byte[] 之间的转换总结C#删除字符串数组中空字符串的几种方法



字符串数组 字符串 排序 数组 字符

需要 登录 后方可回复, 如果你还没有账号请 注册新账号