C++ 字符串数组排序 - 英文单词排序

如题:

2、对给定的10个国家名,国家名的长度定义在20个字符以内,按照字母的顺序从小到大输出。
如:
England
China
America
France
Japan
India
Brazil
Korea
Italy
Canada

就是排序啦,只是套了个string。这里用的是冒泡排序
代码如下:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    int n;
    cin>>n;
    string *str = new string[n];
    for(int i=0;i<n;i++)
    {
            cin>>str[i];           
     }
    
    for(int i=0;i<n;i++)
    {
            for(int j=1;j<n-i;j++)
            {
                    if(str[j]<str[j-1])
                    {
                                  string temp = str[j-1];
                                  str[j-1] = str[j];
                                  str[j] = temp;
                    }
            }
    }
    
    for(int i=0;i<n;i++)
    {
            cout<<str[i]<<endl;
     }
     
    delete str;
    cin.get();
    cin.get();
    return 0;
}

冒泡排序的基本框架:

for(int i = 0; i < n; i++) 
    { 
        for(int j = 1; j < n- i; j++) 
        { 
            if(array[j] < array[j - 1]) 
            { 
                 //在这里交换!
                type temp = array[j];
               array[j] = array[j - 1];
               array[j - 1] = temp;
            } 
        } 
    } 

有关内存操作(详见 C++ 使用指针动态创建数组):

string *str = new string[n];

这里开辟了一个长度为n的字符串数组

delete str;

记得删除内存!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,081评论 2 13
  • 谨记 每个人心中都有一片海,自己不扬帆,没人帮您启航,久了就是一片死海。人生,就是一场自己与自己的较量:让积极打败...
    长风留言阅读 8,054评论 6 10
  • 十年前,我七岁。 正逢上小学的年纪。 与别的城里小朋友不同,从乡下过来的只有我一个。因为早先在乡下的学堂读过半年书...
    甘十七阅读 250评论 4 4
  • “快来,儿子!跟妈一块儿照个相!”我身边一个四十来岁的女人,一边用力挤开熙熙攘攘的游客,一边回头尖声招呼着十来岁大...
    凡妈侃育儿阅读 403评论 4 3
  • 现在播报: 去年今天的, 去了Clearwater Resot 公园,沿途经过一个牧场,用电网包围着,拍张照片还电...
    明華説issac阅读 172评论 0 0