青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

glxhyt

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  15 隨筆 :: 0 文章 :: 4 評論 :: 0 Trackbacks

越來越感到自己基礎差了

今天看到 李先靜老師 系統程序員成長計劃 那本書上寫道 編寫通用的鏈表的
于是自己練習寫了一下,主要是 void* --> int*  int*--> void*
沒想到指針的生命周期,整暈了,調試了好久。 

 typedef struct tagNode_t
{
    struct tagNode_t *pPre;
    struct tagNode_t *pNex;
    void * pData;
}Node_t;

主要是因為 當時把 void * pData;當成int一樣賦值
pTemp->pData = (void*)&i;
沒有考慮到i的生命周
//編寫通用的鏈表的定義
//1

#if 0
typedef 
int Type;
typedef 
struct tagNode_t
{   
    
struct tagNode_t *pstPre;
    
struct tagNode_t *pstNex;
    Type   ElemType;
}
Node_t;

//2 good
//存入時拷貝一份數據,保存數據的指針和長度。
//考慮到拷貝數據會帶來性能開銷,不合符C      
//語言的風格,而且C 語言中沒有構造函數,
//實現深拷貝比較麻煩,所以在C 語言中以這種
//實現的鏈表很少見


typedef 
struct tagNode_t
{
    
struct tagNode_t *pstPre;
    
struct tagNode_t *pstNex;  
    
void * pData;
    
int    iLength;
}
Node_t;

#endif

//3 best
/*
只是保存指向對象的指針,存取效率高,
是C語言中常見的做法。在存放整數時,
可以把void*強制轉換成整數使用,
以避免內存分配(在現實中,90%以上的情況,
鏈表都是存放結構的)。
*/

#include 
<iostream>
using namespace std;


typedef 
struct tagNode_t
{
    
struct tagNode_t *pPre;
    
struct tagNode_t *pNex;
    
void * pData;
}
Node_t;

typedef 
struct tagList_t
{
    Node_t pHead;
}
List_t;

#if 0
#define LIST_OK 1
#define LIST_NG 0

//tagStautus_u
#endif

typedef 
enum tagStatusEnum
{
    LIST_NG 
= 0,
    LIST_OK,
}
StatusEnum;

//typedef StatusEnum (pFun *)(void * data);
typedef StatusEnum (*pFun ) (void * data);

#if 0
StatusEnum CreateList(Node_t 
**p , int i);
#else
StatusEnum CreateList(Node_t 
*p , int *i); 
#endif

StatusEnum PrintList(List_t 
*p, pFun print);

StatusEnum DeleteList(List_t 
*p);

StatusEnum PrintStatus(
void* p);

//LIST_t list;  
#if 0
StatusEnum CreateList(Node_t 
**p , int i)
#endif
StatusEnum CreateList(Node_t 
*p , int *i)  
{
    Node_t 
*pTemp = new Node_t;
    pTemp
->pPre  = NULL;
    pTemp
->pNex  = NULL;
    pTemp
->pData = i;
    
//NULL List Insert
#if 0
    
if (*== NULL)
    
{
        
*= pTemp;
        
//list.pHead = pTemp;
        (*p)->pNex = NULL;
        (
*p)->pPre = NULL;
    }
 
    
    
//Tail Insert
    
    
//pTemp->pNex = *p->pNex;
    pTemp->pPre = *p;
    (
*p)->pNex    = pTemp;
    
//pTemp->pNex->pPre = pTemp;
    
    
//Move Tail
    *= (*p)->pNex;
#endif
    pTemp
->pNex = (p)->pNex;
    (p)
->pNex  = pTemp;
    pTemp
->pPre = p;
    
    
if (NULL != pTemp->pNex)
    
{
        pTemp
->pNex->pPre = pTemp;
    }

    
return LIST_OK;
}


int main(int argc, char ** argv)
{
    
   
// Node_t *pRoot = NULL;
    List_t list;
    (list.pHead).pPre 
= NULL;
    (list.pHead).pNex 
= NULL;
    (list.pHead).pData 
= NULL;
    
   
// for (int i = 0; i < 5; ++ i)
   
// {
       
// CreateList(&pRoot, i);
#if 0
        CreateList(
&((list.pHead).pNex), i);
#endif
      
static int i = 3;
      
static  int j = 4;
        CreateList(
&(list.pHead), &i);     
        CreateList(
&(list.pHead), &j);    
    
//}
    
    PrintList(
&list, PrintStatus);
    
    DeleteList(
&list);
    
    
return 0;
}


StatusEnum PrintList(List_t 
*p, pFun print)
{
    Node_t 
*pTemp = p->pHead.pNex;
    
while ( NULL != pTemp)
    
{
        print(pTemp
->pData);
        pTemp 
= pTemp->pNex;
    }

    
    
return LIST_OK;
}



StatusEnum PrintStatus(
void* p)
{
    
//cout<<"A "<<(int) (*p);    
    cout<<""<<*(int*)p<<endl;
    
return LIST_OK;
}



StatusEnum DeleteList(List_t 
*p)
{
    Node_t 
*pTemp = p->pHead.pNex;
    Node_t 
*pCur = NULL;
    
while ( NULL != pTemp)
    
{
        pCur 
= pTemp;
        pTemp 
= pTemp->pNex;
        delete pCur;
    }

    
    
return LIST_OK;
}




               
posted on 2011-11-27 16:02 郭龍 閱讀(318) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情1区| 欧美国产日本| 欧美亚洲成人免费| 夜夜嗨av一区二区三区免费区| 欧美国产综合一区二区| 欧美成人精品不卡视频在线观看 | 美女黄毛**国产精品啪啪| 又紧又大又爽精品一区二区| 玖玖精品视频| 欧美老女人xx| 久久精品99国产精品酒店日本| 香蕉久久a毛片| 亚洲第一页自拍| 亚洲精品日韩精品| 国产精品网站在线| 美女视频黄a大片欧美| 欧美电影免费观看高清| 亚洲综合精品一区二区| 欧美在线视频一区二区| 亚洲免费播放| 欧美一级电影久久| 一本色道久久综合亚洲精品不卡 | 久久精品色图| 免费成人高清视频| 午夜一区在线| 欧美成人免费va影院高清| 亚洲永久免费| 免费人成精品欧美精品| 香蕉久久久久久久av网站| 欧美jizzhd精品欧美巨大免费| 亚洲一区二区三区免费在线观看| 欧美一区影院| 亚洲一区二区三区国产| 免费日韩av片| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩二区三区| 欧美成人精品福利| 国产一区二区久久久| 日韩午夜免费视频| 亚洲国产精品va| 欧美有码在线视频| 欧美一区二区日韩一区二区| 欧美高清自拍一区| 久久婷婷久久| 国产欧美视频在线观看| 日韩视频在线播放| 日韩视频在线一区| 蜜桃av一区| 免费观看在线综合色| 国产美女精品| 亚洲网站在线| 亚洲视频精选在线| 亚洲国内高清视频| 国产专区精品视频| 亚洲午夜视频在线| 亚洲私拍自拍| 欧美三日本三级少妇三2023| 亚洲激情影院| 亚洲精品免费在线播放| 猛干欧美女孩| 亚洲电影在线看| 亚洲欧洲另类| 欧美成人四级电影| 亚洲人成免费| 在线视频日韩| 国产精品久久综合| 亚洲免费影视| 久久久久久电影| 狠色狠色综合久久| 久久视频在线视频| 欧美超级免费视 在线| 亚洲国产一成人久久精品| 美女脱光内衣内裤视频久久影院| 欧美a一区二区| 亚洲人成人99网站| 欧美国产日韩在线观看| 99热免费精品在线观看| 亚洲欧美大片| 好吊色欧美一区二区三区四区| 久久久免费av| 亚洲精品之草原avav久久| 亚洲综合社区| 韩国精品在线观看| 欧美成人蜜桃| 亚洲午夜电影在线观看| 久久精品中文字幕一区| 亚洲国产精品久久久久秋霞蜜臀 | 中文一区字幕| 午夜日韩在线观看| 极品少妇一区二区| 欧美va天堂va视频va在线| 一本色道久久| 久久亚洲国产成人| 日韩视频精品在线| 国产精品免费区二区三区观看| 欧美在线看片| 亚洲精品一区中文| 久久精品91| 一区二区三区视频免费在线观看| 国产精品日韩一区二区| 免费观看30秒视频久久| 一本色道久久加勒比精品| 久久嫩草精品久久久精品一| 亚洲狼人综合| 韩国av一区二区三区四区| 欧美精品成人91久久久久久久| 午夜精品美女久久久久av福利| 亚洲国产成人av好男人在线观看| 亚洲在线成人精品| 91久久精品日日躁夜夜躁国产| 国产精品一区免费观看| 欧美激情在线有限公司| 久久久综合视频| 亚洲欧美日韩一区在线| 91久久精品国产91性色 | 1000部国产精品成人观看| 欧美日韩色综合| 免费欧美高清视频| 欧美淫片网站| 亚洲欧美日韩国产综合在线 | 欧美在线地址| 一区二区三区你懂的| 1000部国产精品成人观看| 国产精品毛片在线看| 欧美精品精品一区| 免费在线成人av| 久久久夜色精品亚洲| 午夜精品理论片| 亚洲无毛电影| 一区二区三区欧美日韩| 亚洲区中文字幕| 亚洲国产精品一区二区第一页| 久久婷婷一区| 久久琪琪电影院| 久久久精品一区二区三区| 性做久久久久久| 午夜久久久久久| 亚洲自拍电影| 午夜国产精品影院在线观看| 亚洲影视在线| 亚洲天堂av在线免费观看| 宅男噜噜噜66国产日韩在线观看| 999亚洲国产精| 一区二区三区久久久| 一本一本大道香蕉久在线精品| 亚洲欧洲日韩综合二区| 亚洲久久一区二区| 日韩一级精品视频在线观看| 亚洲精选91| 国产精品99久久久久久久久久久久| 日韩视频在线你懂得| 亚洲色图在线视频| 亚洲综合色噜噜狠狠| 欧美在线啊v一区| 老司机精品视频网站| 欧美h视频在线| 亚洲精品久久久久久久久久久久| 亚洲人成小说网站色在线| 欧美在线啊v一区| 亚洲级视频在线观看免费1级| 狠狠色综合色区| 亚洲第一视频网站| 99re在线精品| 午夜精品一区二区三区在线播放| 亚欧成人精品| 老牛嫩草一区二区三区日本 | 亚洲成人在线网| 亚洲欧洲另类国产综合| 中文一区二区在线观看| 久久精品动漫| 欧美91大片| 亚洲午夜av在线| 久久天天狠狠| 欧美男人的天堂| 国产欧美日韩亚洲精品| 亚洲黄页一区| 欧美一级一区| 欧美国产精品v| 亚洲资源av| 欧美电影免费观看高清| 欧美激情亚洲自拍| 亚洲国产经典视频| 一本综合久久| 久热re这里精品视频在线6| 欧美激情一区二区三区在线视频| 国产精品日韩专区| 亚洲国产精品ⅴa在线观看 | 亚洲香蕉网站| 久久一本综合频道| 999在线观看精品免费不卡网站| 校园激情久久| 欧美三级网址| 亚洲电影视频在线| 欧美一区二区观看视频| 亚洲黑丝一区二区| 久久久国产成人精品| 国产精品卡一卡二卡三| 亚洲美洲欧洲综合国产一区| 久久资源av| 午夜精品久久久久久久久久久久久|