none
现在有一排好序的数组,如何统计数组中所有不同元素的个数? RRS feed

  • 问题

  • 现在有一字符串数组,已经排好序了,如何统计中数组中所有不同元素的个数,使用C++MFC解决?
    • 已更改类型 Rob Pan 2012年2月21日 2:26
    2012年2月20日 2:18

答案

  • 你好,

    如果您只需要记录不同元素的个数,您可以声明一个long类型的变量,并且使用for语句,循环遍历您的数组。如果当前字符与上一个位子的字符不同,则long变量加一。

    如果你还需要统计具体元素的数量。最直接的方式是您可以创建一个二维数组arr[n][2](n为已知数组长度)。在arr[n][0]的可以记录元素,arr[n][1]记录元素个数。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月21日 2:26
  • 没啥好说的

    遍历查找、逐字匹配


    新浪微博http://weibo.com/xianglitian,欢迎围观

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月22日 0:09
  • 也可以使用STL中的map


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月22日 1:44
    版主

全部回复

  • 你好,

    如果您只需要记录不同元素的个数,您可以声明一个long类型的变量,并且使用for语句,循环遍历您的数组。如果当前字符与上一个位子的字符不同,则long变量加一。

    如果你还需要统计具体元素的数量。最直接的方式是您可以创建一个二维数组arr[n][2](n为已知数组长度)。在arr[n][0]的可以记录元素,arr[n][1]记录元素个数。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月21日 2:26
  • 没啥好说的

    遍历查找、逐字匹配


    新浪微博http://weibo.com/xianglitian,欢迎围观

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月22日 0:09
  • 也可以使用STL中的map


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Rob Pan 2012年3月1日 9:22
    2012年2月22日 1:44
    版主