C语言基础学习(9)排序

字符串排序 ststr函数,采用选择排序方法

(两个for)将每个元素与首元素比较,如待比较元素在前,交换两者
/* 字符串排序功能说明 */

#include<stdio.h>
#include<string.h>
#define SIZE 18
#define LIM 20


void ststr (char *strs[] , int);
char * s_get(char *, int);
int main(void)
{
    char input[LIM][SIZE];
    char * ptstr[LIM];
    int ct = 0;
    int k;

    while(ct < LIM && s_get(input[ct],SIZE) != NULL && input[ct][0] != '\0')//   新一行直接按Enter,就会提前结束循环
    {
        ptstr[ct] = input[ct];
        ct++;
    }
    ststr(ptstr, ct);
    puts("\n LIST IS: \n");
    
    for(k = 0; k < ct; k++)
        puts(ptstr[k]);
	return 0;
 }

void ststr(char * ptstr[], int ct)
{
   char * temp;
   int top, seek;
   for(top = 0; top < ct - 1; top++)//  遍历循环要用两个for循环
    for(seek = top + 1; seek < ct; seek++)
        if(strcmp(ptstr[top], ptstr[seek]) > 0)
   {
       temp = ptstr[top];
       ptstr [top] = ptstr[seek];
       ptstr [seek] = temp;
   }
}
char * s_get(char * st, int n)
{
    char * ret_val;
    int i = 0;
    ret_val = fgets(st, n, stdin);
    //printf(("%c  \n", ret_val));
    if(ret_val)
    {
        while(st[i] != '\n' && st[i] != '\0')
            i++;
        if(st[i] == '\n')
            st[i] = '\0';
        else
            while(getchar() != '\n')
            continue;
    }
    return ret_val;
}

选择排序法来排序指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值