none
如何按姓名的词典顺序排列? RRS feed

  • 问题

  • 大家好,我编写了一个简单的CUser类来记录一个用户的姓名和电话号码,如下:

    //CUser.h
    
    #pragma once
    #include <string>
    using namespace std;
    
    class CUser
    {
    public:
    	CUser(void);
    	CUser(string name, string phoneNumber);
    	~CUser(void);
    
    private:	
    	string Name;
    	string PhoneNumber;
    };
    //CUser.cpp
    
    #include "User.h"
    
    //默认构造函数
    CUser::CUser(void)
    {
    	Name = "张三";
    	PhoneNumber = "12345678";
    }
    
    //传入参数的构造函数
    CUser::CUser(string name,string phoneNumber)
    {
    	Name = name;
    	PhoneNumber = phoneNumber;
    }
    
    
    CUser::~CUser(void)
    {
    }

    然后我就想定义一个CSorter类,将输入的CUser数组按用户的姓名的词典顺序排列,想采用冒泡法,代码如下:

    // CSorter.h
    
    #pragma once
    #include "User.h"
    
    class CSorter
    {
    public:
    	CSorter(void);
    
    	CSorter(CUser* Users[]);
    
    	~CSorter(void);
    
    private:
    	void Sorter(CUser* Users[]);
    //CSorter.cpp
    
    #include "Sorter.h"
    
    
    CSorter::CSorter(void)
    {
    }
    
    CSorter::CSorter(CUser* Users[])
    {
    	Sorter(Users);
    }
    
    
    CSorter::~CSorter(void)
    {
    }
    
    void
    CSorter::Sorter(CUser* Users[])
    {
    	//获得数组中包含有多少个元素
    	int count = sizeof(Users)/sizeof(Users[0]);
    
    	//通过冒泡法将用户数组排序
    
    }
    但我一直用简单的C#,感觉突然采用VC++太难下手了,对指针用的不熟,无从下手。想请问大家这个排序的算法怎么实现啊?



    2014年11月16日 11:41

答案

全部回复