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

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 郭龍 閱讀(317) 評論(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>
            激情综合色丁香一区二区| 亚洲影音先锋| 篠田优中文在线播放第一区| 亚洲免费观看| 日韩亚洲国产精品| 亚洲午夜电影| 久久精品国产精品亚洲精品| 亚洲欧美国产高清va在线播| 亚洲一区999| 香蕉久久国产| 久热爱精品视频线路一| 欧美国产激情| 国产精品高潮在线| 中国成人在线视频| 欧美亚洲一区二区在线| 欧美中文在线字幕| 免费欧美在线| 国产精品久久999| 国产午夜久久久久| 亚洲欧洲另类国产综合| 亚洲免费网站| 欧美成年人视频网站欧美| 最新高清无码专区| 日韩视频免费观看高清在线视频| 亚洲欧洲综合另类在线| 亚洲一区二区在线观看视频| 久久久精品一区| 欧美日韩午夜激情| 伊人久久大香线| 午夜电影亚洲| 亚洲国产精品久久久久| 午夜欧美理论片| 欧美激情一区二区三区高清视频 | 亚洲欧洲一区二区天堂久久 | 亚洲欧美日韩网| 牛人盗摄一区二区三区视频| 一区二区国产日产| 欧美高清在线观看| 激情久久久久久| 欧美在线啊v| 一区二区成人精品| 欧美美女bbbb| 91久久夜色精品国产九色| 午夜精品久久久久久久久久久| 久久中文欧美| 亚洲欧美日韩国产综合在线| 欧美日韩国产一中文字不卡 | 国产精品videosex极品| 亚洲国产精品99久久久久久久久| 亚洲欧美日韩综合国产aⅴ| 亚洲黄色在线看| 玖玖在线精品| 一色屋精品视频免费看| 久久激情中文| 午夜视频一区二区| 国产欧美日韩视频在线观看 | 午夜精品区一区二区三| 欧美视频一区二区| 99精品免费网| 国产亚洲免费的视频看| 国内精品久久久久久久97牛牛| 亚洲日本成人| 欧美jizz19hd性欧美| 欧美一区二区黄| 国产深夜精品福利| 久久精品91| 久久久久国色av免费观看性色| 国内精品久久久久久久影视麻豆| 午夜亚洲影视| 欧美一区二区播放| 国产一区二区三区久久 | 亚洲一区二区在| aa级大片欧美| 国产精品久久久久aaaa樱花| 亚洲欧美精品| 久久精品夜色噜噜亚洲a∨| 悠悠资源网久久精品| 欧美不卡视频一区| 欧美国产日韩一二三区| 中文av字幕一区| 亚洲欧美日韩一区| 在线观看三级视频欧美| 亚洲国产精品一区| 欧美日韩亚洲国产一区| 性久久久久久久| 久久久久久久久久久成人| 亚洲精品久久久一区二区三区| 亚洲精品一区二区三区99| 国产精品久久午夜| 蜜臀va亚洲va欧美va天堂| 欧美国产一区二区| 亚洲一区二区免费视频| 欧美在线三区| 中文国产成人精品久久一| 欧美亚洲午夜视频在线观看| 91久久精品一区| 亚洲无限av看| 亚洲国产日韩欧美在线动漫| 一本综合精品| 亚洲国产精彩中文乱码av在线播放| 夜夜嗨av一区二区三区四区| 精品av久久久久电影| 在线视频亚洲欧美| 永久免费精品影视网站| 亚洲午夜三级在线| 亚洲国语精品自产拍在线观看| 这里只有视频精品| 亚洲国产综合在线看不卡| 亚洲欧美影院| 亚洲先锋成人| 欧美大片第1页| 久久久www成人免费精品| 欧美日韩高清在线观看| 欧美国产日本高清在线| 国产欧美一区二区白浆黑人| 亚洲蜜桃精久久久久久久| 红杏aⅴ成人免费视频| 亚洲一二三级电影| 亚洲美女福利视频网站| 久久久999成人| 欧美激情精品久久久| 欧美专区第一页| 久久婷婷国产麻豆91天堂| 亚洲欧美在线一区| 欧美日韩国产一区二区| 亚洲黄色精品| 亚洲精品久久久久久久久久久久久| 久久天天狠狠| 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲精品久久久久动| 亚洲欧美国产一区二区三区| 中文一区在线| 欧美日韩一卡| 99国产一区二区三精品乱码| 亚洲日韩中文字幕在线播放| 六月婷婷久久| 亚洲国产乱码最新视频| 亚洲国语精品自产拍在线观看| 久久人人97超碰国产公开结果 | 91久久久久| 亚洲高清在线观看一区| 久久精品国产清自在天天线| 久久精品亚洲| 伊人久久亚洲美女图片| 久久精品99无色码中文字幕| 久久精品国产久精国产爱| 国内成+人亚洲+欧美+综合在线| 亚洲综合色婷婷| 久久国产精品亚洲77777| 韩国美女久久| 欧美成人视屏| 亚洲精品视频在线| 亚洲午夜精品一区二区| 国产精品高潮呻吟| 亚洲欧美在线一区二区| 久久精品国产亚洲一区二区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲免费观看高清在线观看 | 亚洲国产成人精品久久| 亚洲精品日韩一| 欧美无乱码久久久免费午夜一区 | 国产综合久久久久久鬼色| 久久资源av| 亚洲国产精品99久久久久久久久| 欧美护士18xxxxhd| 一区二区欧美在线观看| 久久九九热re6这里有精品| 亚洲国产日韩一区二区| 欧美精品色网| 亚洲欧美日本伦理| 国产亚洲欧美另类一区二区三区| 一本一本久久a久久精品综合妖精| 午夜精品一区二区三区电影天堂 | 欧美激情偷拍| 午夜精品久久久久久久白皮肤| 亚洲一区二区三区成人在线视频精品| 国产亚洲va综合人人澡精品| 亚洲视频在线观看网站| 久久精品夜夜夜夜久久| 亚洲精品在线观看视频| 国产精品久久久久aaaa樱花| 久久精品人人爽| 在线成人性视频| 欧美揉bbbbb揉bbbbb| 香蕉久久一区二区不卡无毒影院 | 亚洲人被黑人高潮完整版| 欧美亚洲综合网| 亚洲精品一区二区三区99| 国产视频一区三区| 欧美日韩伦理在线免费| 久久不见久久见免费视频1| 亚洲免费电影在线| 欧美成人中文字幕| 久久成人综合网| 亚洲一区二区在线视频| 久久亚洲欧洲| 一区二区三区黄色| 亚洲高清视频在线观看| 久久精品91| 久久aⅴ国产欧美74aaa|