题目:已知字母序列【d, g, e, c, f, b, o, a】,请实现一个函数针对输入的一组字符串 input[] = {"bed", "dog", "dear", "eye"},按照字母顺序排序并打印,结果应为:dear, dog, eye, bed。
考察知识点:字符串的大小比较
代码如下:
#include "stdafx.h"
#include <map>
#include <assert.h>
#include <vector>
#include <algorithm>
#include <iostream>
std::map<char, int> char_int_map;
//比较两个字符串的大小(此函数纯属练手)
//str_a大于str_b,则返回1;相等则返回0;小于则返回-1
int compare_string(char *str_a, char *str_b)
{
assert(str_a != NULL && str_b != NULL);
int result = 0;
char *pa = str_a;
char *pb = str_b;
while (*pa != '\0' && *pb != '\0')
{
if (*pa != *pb)
{
if (char_int_map.find(*pa) == char_int_map.end())
{
char_int_map[*pa] = 0;
}
if (char_i