C/C++复习:不等长字符串的排序(1)

本文介绍了一个使用C++实现的字符串排序程序。通过定义一个指向指针的指针,该程序能够接收用户输入的多个字符串,并利用冒泡排序算法对这些字符串进行排序。排序后的字符串按升序输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<pre name="code" class="cpp">/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All right reserved.
 *文件名称:77.cpp
 *作    者:董凯琦
 *完成日期:2016年4月22日
 *版 本 号:v1.0
 *
 *问题描述:用指向指针的指针的方法对5个字符串排序并输出。要求将排序单独写成一个函数。字符串和n在主函数中输入。最后在主函数中输出。


 *输入描述:n和n个字符串
 *程序输出:排序后的字符串
 */
#include <iostream>
#include <cstring>
using namespace std;
void sort(char **p,int n )
{
   int i,j;
   char s[80];
   for(i=0;i<n-1;i++)//使用冒泡排序法进行字符串的排序
        for(j=0;j<n-i-1;j++)
   {
       if(strcmp(p[j],p[j+1])>0)
       {
           strcpy(s,p[j]);  //P[j]即:*(p+j)
           strcpy(p[j],p[j+1]);
           strcpy(p[j+1],s);
       }
   }
}
int main()
{
  void sort(char **,int );
  int i,n;
  char **p,*pstr[20],str[20][80];
  cin>>n;
  for (i=0; i<n; i++)// 行指针指向每一行字符串的首地址
  pstr[i]=str[i];
  for (i=0; i<n; i++)//输入字符串
  cin>>pstr[i];
  p=pstr;
  sort(p,n);
  for (i=0; i<n; i++)
  cout<<pstr[i]<<endl;//输出字符串
  return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值