• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            OnTheWay2012
            埋葬昨天的我,迎來重生的我!
            posts - 15,  comments - 89,  trackbacks - 0

            為了鍛煉自己,寫了下面幾個函數(shù)。
            (1)把一個unsigned int 轉(zhuǎn)換成字符型的IP
            (2)鏈表插入元素,升序

              1#include <WinSock2.h>
              2#include <iostream>
              3#include <assert.h>
              4
              5using namespace std;
              6
              7void ChangeToIp(unsigned int dwData, char *pStr)
              8{
              9    assert(NULL != pStr);
             10    if (NULL != pStr)
             11    {
             12        size_t index = 0;
             13        unsigned char *pCh = (unsigned char *)(&dwData);
             14        for (size_t i = 0 ; i < 4 ; i++)
             15        {
             16            unsigned short int nData(pCh[i]); 
             17            pStr[index++= (char)(nData / 100 + '0');
             18
             19            nData %= 100;
             20            pStr[index++= (char)(nData / 10 + '0');
             21
             22            pStr[index++= (char)(nData % 10 + '0');
             23
             24            if(3 > i)
             25            {
             26                pStr[index++= '.';
             27            }

             28        }

             29    }

             30}

             31
             32template<typename T>
             33struct Node
             34{
             35    Node() : m_Data(T())
             36    {
             37        m_pNext = NULL;
             38    }

             39
             40    T m_Data;
             41    Node<T> *m_pNext;
             42}
            ;
             43
             44template<typename T>
             45void InsertNode(Node<T> *pHead, const T &value)
             46{
             47    assert(NULL != pHead);
             48    if (NULL != pHead)
             49    {
             50        if(NULL != pHead->m_pNext)//除了頭結(jié)點還有其他結(jié)點
             51        {
             52            while(NULL != pHead->m_pNext && pHead->m_pNext->m_Data < value)
             53            {
             54                pHead = pHead->m_pNext;
             55            }

             56        }

             57        else //只有頭結(jié)點
             58        {
             59            ;
             60        }

             61
             62        Node<T> *pTemp = new Node<T>;
             63        pTemp->m_Data = value;
             64        pTemp->m_pNext = pHead->m_pNext;
             65        pHead->m_pNext = pTemp;
             66    }

             67}

             68
             69template<typename T>
             70void PrintLinkList(Node<T> *pHead)
             71{
             72    assert(NULL != pHead);
             73    if (NULL != pHead)
             74    {
             75        pHead = pHead->m_pNext;
             76        while(NULL != pHead)
             77        {
             78            cout<< pHead->m_Data <<endl;
             79            pHead = pHead->m_pNext;
             80        }

             81    }

             82}

             83
             84template<typename T>
             85void ReleaseLinkList(Node<T> *pHead)
             86{
             87    assert(NULL != pHead);
             88    if (NULL != pHead)
             89    {
             90        Node<T> *pNext = pHead->m_pNext;
             91        delete pHead;
             92        while(NULL != pNext)
             93        {
             94            pHead = pNext;
             95            pNext = pHead->m_pNext;
             96            delete pHead;
             97        }

             98    }

             99}

            100
            101void main()
            102{
            103    Node<int> *pHead = new  Node<int>;
            104    InsertNode(pHead, -1);
            105    InsertNode(pHead, -2);
            106    InsertNode(pHead, 8);
            107    InsertNode(pHead, 34);
            108    InsertNode(pHead, 4);
            109
            110    PrintLinkList(pHead);
            111
            112    ReleaseLinkList(pHead);
            113}
            posted on 2010-05-25 20:37 OnTheWay 閱讀(804) 評論(0)  編輯 收藏 引用 所屬分類: 算法

            <2010年5月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            友情連接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品内射久久久久欢欢| 亚洲国产精品人久久| 香蕉久久影院| 久久91精品国产91| 久久精品aⅴ无码中文字字幕不卡| 久久久精品人妻一区二区三区四| 国产精品久久一区二区三区| 久久国产高清一区二区三区| 久久亚洲精品无码VA大香大香| 精品人妻久久久久久888| 精品乱码久久久久久夜夜嗨| 思思久久99热只有频精品66| 精品综合久久久久久888蜜芽| 精品久久久久中文字幕一区| 国产成年无码久久久免费| 成人亚洲欧美久久久久| 麻豆一区二区99久久久久| 久久久久久A亚洲欧洲AV冫| 久久婷婷国产综合精品| 伊人久久大香线蕉综合热线| 一本伊大人香蕉久久网手机| 日韩人妻无码精品久久免费一| 久久噜噜久久久精品66| 91久久九九无码成人网站| 国产麻豆精品久久一二三| 7777精品久久久大香线蕉| 精品无码久久久久久国产| 色综合久久88色综合天天| 欧美一区二区三区久久综| 综合久久国产九一剧情麻豆 | 午夜精品久久久久久久无码| 精品综合久久久久久97超人| 久久久久亚洲AV无码麻豆| 久久精品国产日本波多野结衣| 久久强奷乱码老熟女| 国产精品久久久久一区二区三区| 久久99国产综合精品| 国内精品伊人久久久久AV影院| 无码人妻久久一区二区三区免费丨 | 久久久久高潮综合影院| 久久精品青青草原伊人|