乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C++基礎(chǔ)知識(shí): list結(jié)構(gòu)體排序方法(一)

       cupid 2014-11-05


      #include <iostream>
      #include <list>
      #include <string>
      #include <cctype>

      using namespace std;

      typedef unsigned int    UINT32;
      typedef unsigned short  UINT16;

      /************************************************************************/
      /* 枚舉定義: 性別                                         */
      /************************************************************************/
      typedef enum enumSexyType
      {
          SEXY_TYPE_MAN,   //男性
          SEXY_TYPE_WOMAN, //女性
          SEXY_TYPE_GAY,   //男同性戀
          SEXY_TYPE_LESIBAIN, //女同性戀

          SEXY_TYPE_BUTT   //未知性別
      }ENUM_SEXY_TYPE;

      /************************************************************************/
      /* 結(jié)構(gòu)體定義:  人                                                      */
      /************************************************************************/
      typedef struct structMan
      {
          UINT32    sexType; // 性別 ENUM_SEXY_TYPE
          UINT16      usAge;   // 年齡
          string    strName; // 名字
          string    strAddress; // 工作地址
          
          bool operator < (const structMan &man) const
          {
              return usAge < man.usAge;
          }

          bool operator > (const structMan &man) const
          {
              return usAge > man.usAge;
          }

          structMan(UINT32 enumSexType = SEXY_TYPE_MAN,\
                    UINT16 usAge = 0 ,\
                    const string &refStrName = "" ,\
                    const string &refStrAddress = "")\
                    : 
                    sexType(enumSexType),\
                    usAge(usAge) ,\
                    strName(refStrName),\
                    strAddress(refStrAddress)
          {
              //DO NOTHING HERE
          }; 
      }MAN;



      //////////////////////////////////////////////////////////////////////////

      typedef list<MAN> Family;
      typedef list<MAN>::iterator FamilyIterator;

      /*
       *    main函數(shù) 定義
       
      */
      int main()
      {
          /* 初始化 */
          MAN stFather(SEXY_TYPE_MAN,   28, "倒霉熊老爸", "華為技術(shù)有限公司");
          MAN stMother(SEXY_TYPE_WOMAN, 27, "蝦米老媽", "鄭州大學(xué)第二附屬醫(yī)院");
          MAN stBaby  (SEXY_TYPE_BUTT,  0,  "小天使",   "未知");
          Family myFamily;

          /* 依次存放到list中    */
          myFamily.push_back(stFather);
          myFamily.push_back(stMother);
          myFamily.push_back(stBaby);

          /* 調(diào)用list的sort函數(shù)進(jìn)行排序, 默認(rèn)會(huì)使用結(jié)構(gòu)體重載的<號(hào), 進(jìn)行從小到大排序 */
          myFamily.sort();

          printf("按年齡從小到大排序:\n");
          FamilyIterator it = myFamily.begin();
          while(it != myFamily.end())
          {
              printf("姓名: %s \n", it->strName.c_str());
              it++;
          }

          /* 調(diào)用模板函數(shù) greater, 傳入MAN結(jié)構(gòu)體, 這樣會(huì)調(diào)用結(jié)構(gòu)體重載的>號(hào), 進(jìn)行從大到小排序 */
          greater<MAN> gt;
          myFamily.sort(gt);

          printf("\n按年齡從大到小排序:\n");
          it = myFamily.begin();
          while(it != myFamily.end())
          {
              printf("姓名: %s \n", it->strName.c_str());
              it++;
          }

          return 0;
      }



        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多