• <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

            為了鍛煉自己,寫了下面幾個函數。
            (1)把一個unsigned int 轉換成字符型的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)//除了頭結點還有其他結點
             51        {
             52            while(NULL != pHead->m_pNext && pHead->m_pNext->m_Data < value)
             53            {
             54                pHead = pHead->m_pNext;
             55            }

             56        }

             57        else //只有頭結點
             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 閱讀(814) 評論(0)  編輯 收藏 引用 所屬分類: 算法

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

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            友情連接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产精品亚洲人人 | 久久精品成人免费国产片小草| 精品久久久久久久久免费影院| 久久综合久久综合亚洲| 久久精品无码专区免费东京热| 国产精品成人无码久久久久久| 国产三级精品久久| 亚州日韩精品专区久久久| 久久AV高潮AV无码AV| 国产精品久久自在自线观看| 久久综合久久性久99毛片| 久久se精品一区二区| 囯产极品美女高潮无套久久久| 亚洲嫩草影院久久精品| 国产美女久久精品香蕉69| 伊人久久大香线蕉综合影院首页| 人妻精品久久久久中文字幕69| 久久亚洲中文字幕精品一区四| 无码人妻久久一区二区三区免费 | 亚洲精品国精品久久99热| 色综合色天天久久婷婷基地| 久久精品青青草原伊人| 国产福利电影一区二区三区久久久久成人精品综合 | 久久久久女教师免费一区| 久久综合给合久久国产免费| 久久精品国产99久久丝袜| 国产精品一久久香蕉国产线看| 久久综合久久综合亚洲| 亚洲精品高清一二区久久| 久久国产香蕉视频| 久久综合九色综合欧美狠狠| 久久综合久久自在自线精品自| 天天影视色香欲综合久久| 88久久精品无码一区二区毛片| 久久亚洲私人国产精品vA | 青青草原综合久久大伊人精品| 久久综合九色综合网站| 久久国产精品成人片免费| 久久精品人人做人人爽97| 欧美大香线蕉线伊人久久| 久久精品亚洲中文字幕无码麻豆|