亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lists.c

?? 曾仕強——中國式管理——總裁領導學
?? C
?? 第 1 頁 / 共 2 頁
字號:
        return 0;    if ((*list)->numItems >= (*list)->listSize)    {	if (!ExpandListSpace (list, -numItemsToInsert)) /* PATCH to 4.0.1 - jag 8-29-96 */            return 0;    }    if (firstItemPosition == LIST_START)    {        if (numItems == 0)           firstItemPosition = LIST_END; /* special case for empty list */        else           firstItemPosition = 1;    }    if (firstItemPosition == LIST_END)  /* add at the end of the list */        {        if (ptrToItems)            memcpy (ITEMPTR(list, numItems), ptrToItems, (*list)->itemSize * numItemsToInsert);        else            memset (ITEMPTR(list, numItems), 0,                (*list)->itemSize * numItemsToInsert);        (*list)->numItems += numItemsToInsert;        }    else        {                                  /* move part of list up to make room for new item */        memmove (ITEMPTR(list,firstItemPosition-1+numItemsToInsert),            ITEMPTR(list,firstItemPosition-1),            (numItems + 1 - firstItemPosition) * (*list)->itemSize);        if (ptrToItems)            memmove (ITEMPTR(list,firstItemPosition-1), ptrToItems,                (*list)->itemSize * numItemsToInsert);        else            memset (ITEMPTR(list,firstItemPosition-1), 0,                (*list)->itemSize * numItemsToInsert);        (*list)->numItems += numItemsToInsert;        }    return 1;}#ifdef	CFG_ALL_LIST_FUNCTIONS/*******************************/int  ListEqual (list_t list1, list_t list2){    if (list1 == list2)        return 1;    if (list1 == NULL || list2 == NULL)        return 0;    if ((*list1)->itemSize == (*list1)->itemSize)        if ((*list1)->numItems == (*list2)->numItems)            return (memcmp (ITEMPTR(list1,0), ITEMPTR(list2,0),                (*list1)->itemSize * (*list1)->numItems) == 0);    return 0;}/*******************************/     /* The item pointed to by ptrToItem is copied over the current item at itemPosition */void  ListReplaceItem (list_t list, void *ptrToItem, int itemPosition){    ListReplaceItems (list, ptrToItem, itemPosition, 1);}/*******************************/     /* The item pointed to by ptrToItems is copied over the current item at itemPosition */void  ListReplaceItems (list_t list, void *ptrToItems, int firstItemPosition, int numItemsToReplace){    if (firstItemPosition == LIST_END)        firstItemPosition = (*list)->numItems;    else    if (firstItemPosition == LIST_START)        firstItemPosition = 1;    memmove (ITEMPTR(list,firstItemPosition-1), ptrToItems,        (*list)->itemSize * numItemsToReplace);}/*******************************/void  ListRemoveItem (list_t list, void *itemDestination, int itemPosition){    ListRemoveItems (list, itemDestination, itemPosition, 1);}/*******************************/void  ListRemoveItems (list_t list, void *itemsDestination, int firstItemPosition, int numItemsToRemove){    int firstItemAfterChunk, numToMove;    if (firstItemPosition == LIST_START)        firstItemPosition = 1;    else    if (firstItemPosition == LIST_END)        firstItemPosition = (*list)->numItems;    if (itemsDestination != NULL)         memcpy (itemsDestination, ITEMPTR(list,firstItemPosition-1),            (*list)->itemSize * numItemsToRemove);    firstItemAfterChunk = firstItemPosition + numItemsToRemove;    numToMove = (*list)->numItems - (firstItemAfterChunk - 1);    if (numToMove > 0)  /* move part of list down to cover hole left by removed item */        memmove (ITEMPTR(list,firstItemPosition-1),                 ITEMPTR(list,firstItemAfterChunk-1),                 (*list)->itemSize * numToMove);    (*list)->numItems -= numItemsToRemove;}/*******************************/void  ListGetItem (list_t list, void *itemDestination, int itemPosition){    ListGetItems (list, itemDestination, itemPosition, 1);}#endif	/* CFG_ALL_LIST_FUNCTIONS *//*******************************/void  ListGetItems(list_t list, void *itemsDestination, int firstItemPosition, int numItemsToGet){    if (firstItemPosition == LIST_START)        firstItemPosition = 1;    else    if (firstItemPosition == LIST_END)        firstItemPosition = (*list)->numItems;    memcpy (itemsDestination, ITEMPTR(list,firstItemPosition-1),        (*list)->itemSize * numItemsToGet);}/*******************************/    /*  Returns a pointer to the item at itemPosition. returns null if an errors occurred.    */void *  ListGetPtrToItem (list_t list, int itemPosition){    if (itemPosition == LIST_START)        itemPosition = 1;    else    if (itemPosition == LIST_END)        itemPosition = (*list)->numItems;    return ITEMPTR(list,itemPosition-1);}/*******************************/     /* returns a pointer the lists data (abstraction violation for optimization) */void *  ListGetDataPtr (list_t list){    return &((*list)->itemList[0]);}/********************************/#ifdef	CFG_ALL_LIST_FUNCTIONSint  ListApplyToEach (list_t list, int ascending, ListApplicationFunc funcToApply, void *callbackData){    int result = 0, index;    if (!list || !funcToApply)        goto Error;    if (ascending)        {        for (index = 1; index <= ListNumItems (list); index++)            {            result  = funcToApply (index, ListGetPtrToItem (list, index),                callbackData);            if (result < 0)                goto Error;            }        }    else        {        for (index = ListNumItems (list); index > 0 &&            index <= ListNumItems (list); index--)            {            result  = funcToApply (index, ListGetPtrToItem (list, index),                callbackData);            if (result < 0)                goto Error;            }        }Error:    return result;}#endif	/* CFG_ALL_LIST_FUNCTIONS *//********************************/int  ListGetItemSize (list_t list){    return (*list)->itemSize;}/********************************/int  ListNumItems (list_t list){    return (*list)->numItems;}/*******************************/#ifdef	CFG_ALL_LIST_FUNCTIONSvoid  ListRemoveDuplicates (list_t list, CompareFunction compareFunction){    int numItems, index, startIndexForFind, duplicatesIndex;    numItems = ListNumItems (list);    for (index = 1; index < numItems; index++)        {        startIndexForFind = index + 1;        while (startIndexForFind <= numItems)            {            duplicatesIndex = ListFindItem (list, ListGetPtrToItem (list, index),                startIndexForFind, compareFunction);            if (duplicatesIndex > 0)                {                ListRemoveItem (list, NULL, duplicatesIndex);                numItems--;                startIndexForFind = duplicatesIndex;                }             else                break;            }        }}/*******************************//*******************************/int  ListFindItem (list_t list, void *ptrToItem, int startingPosition, CompareFunction compareFunction){    int numItems, size, index, cmp;    void *listItemPtr;    if ((numItems = (*list)->numItems) == 0)        return 0;    size = (*list)->itemSize;    if (startingPosition == LIST_START)        startingPosition = 1;    else    if (startingPosition == LIST_END)        startingPosition = numItems;    for (index = startingPosition; index <= numItems; index++)        {        listItemPtr = ITEMPTR(list,index-1);        cmp = compareFunction ? compareFunction(ptrToItem, listItemPtr)                              : ListMemBlockCmp(ptrToItem, listItemPtr, size);        if (cmp == 0)            return index;        }    return 0;}/*******************************/int  ShortCompare(void *a, void *b){    if (*(short *)a < *(short *)b) return -1;    if (*(short *)a > *(short *)b) return  1;    return 0;}/*******************************/int  IntCompare(void *a, void *b){   if (*(int *)a < *(int *)b) return -1;   if (*(int *)a > *(int *)b) return  1;   return 0;}/*******************************/int  CStringCompare(void *a, void *b){    return strcmp(*(char **)a, *(char **)b);}/*******************************/int  ListBinSearch (list_t list, void *ptrToItem, CompareFunction compareFunction){    int index;    index = BinSearch (ITEMPTR(list,0), (int)(*list)->numItems,        (int)(*list)->itemSize, ptrToItem, compareFunction);    if (index >= 0)        index++;        /* lists start from 1 */    else        index = 0;      /* item not found */    return index;}/**************************************************************************/    /*  Reserves memory for numItems in the list. If it succeeds then        numItems items can be inserted without possibility of an        out of memory error (useful to simplify error recovery in        complex functions). Returns 1 if success, 0 if        out of memory.    */int  ListPreAllocate (list_t list, int numItems){    if ((*list)->listSize - (*list)->numItems < numItems)        return ExpandListSpace (list,            numItems - ((*list)->listSize - (*list)->numItems));    else        return 1;    /* enough items are already pre-allocated */}#endif	/* CFG_ALL_LIST_FUNCTIONS */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲а∨天堂免在线| 国产一区二区三区四| 日韩欧美一区二区视频| 麻豆91精品视频| 一区二区三区在线视频播放| 欧美成人vr18sexvr| 色欧美片视频在线观看在线视频| 日韩精品视频网站| 亚洲免费观看高清| 欧美精品免费视频| 成人美女视频在线看| 日韩激情中文字幕| 亚洲人成7777| 亚洲欧美一区二区不卡| 日韩精品一区二区三区在线观看| 色综合中文字幕国产| 懂色av一区二区三区蜜臀| 亚洲最大成人网4388xx| wwwwxxxxx欧美| 精品国内二区三区| 正在播放亚洲一区| 777久久久精品| 欧美一区二区三区四区久久| 欧美另类变人与禽xxxxx| 成人小视频在线| 成人动漫一区二区在线| 国产一区二区电影| 日韩视频中午一区| 日韩精品资源二区在线| 精品国产伦一区二区三区观看方式| 6080yy午夜一二三区久久| 欧美午夜免费电影| 欧美一二三四区在线| 在线91免费看| 日韩欧美国产综合一区 | 亚洲aaa精品| 日韩av网站免费在线| 亚洲黄色片在线观看| 亚洲午夜精品久久久久久久久| 亚洲欧美激情视频在线观看一区二区三区| 精品国产电影一区二区| 久久精品视频在线看| 久久精品视频一区| 亚洲女与黑人做爰| 亚洲蜜桃精久久久久久久| 午夜精品久久久久久久99樱桃| 国产在线麻豆精品观看| 国产电影一区二区三区| 久久色.com| 夜色激情一区二区| 麻豆91小视频| 天天综合天天做天天综合| 日本在线不卡一区| 国产精品66部| 欧美中文字幕一区二区三区 | 日韩激情视频在线观看| 爽好久久久欧美精品| 国产高清久久久久| 欧美在线你懂得| 日韩午夜电影在线观看| 亚洲欧美二区三区| 久久精品久久综合| 懂色av中文字幕一区二区三区 | 国产福利91精品一区二区三区| 日韩av不卡在线观看| 激情偷乱视频一区二区三区| 成人污污视频在线观看| 91精品午夜视频| 国产精品少妇自拍| 日本va欧美va精品发布| 972aa.com艺术欧美| 在线播放日韩导航| 亚洲精品视频在线看| 日韩 欧美一区二区三区| 色天天综合色天天久久| 亚洲欧美综合色| 美女视频免费一区| 欧美伊人久久久久久午夜久久久久| 精品福利二区三区| 亚洲成人av资源| 色婷婷精品久久二区二区蜜臂av | 福利电影一区二区| 欧日韩精品视频| 精品亚洲成av人在线观看| 成人a区在线观看| 久久色.com| 国产福利91精品一区| 日韩一区二区电影在线| 亚洲国产精品久久久久秋霞影院| 91福利国产成人精品照片| 国产人久久人人人人爽| 久久爱www久久做| 日韩免费高清电影| 捆绑调教一区二区三区| 91精品国产综合久久精品性色| 五月激情综合网| 精品国产不卡一区二区三区| 激情文学综合丁香| 色av成人天堂桃色av| 国产精品免费网站在线观看| 91在线视频免费观看| 一色桃子久久精品亚洲| 91免费看`日韩一区二区| 国产成人精品在线看| 国产精品区一区二区三区| 国产一区二区三区在线观看精品 | 国产欧美一区二区三区在线看蜜臀 | 在线观看免费成人| 亚洲素人一区二区| 欧美私人免费视频| 奇米综合一区二区三区精品视频| 日韩欧美一级在线播放| 激情综合网最新| 久久理论电影网| 成人免费毛片嘿嘿连载视频| 亚洲精品乱码久久久久久久久 | 韩国精品在线观看| 91九色02白丝porn| 日韩中文欧美在线| 国产精品免费久久久久| 91搞黄在线观看| 精品在线免费观看| 亚洲天堂2016| 国产欧美精品一区二区色综合朱莉 | 中文字幕一区二区在线观看| 色综合久久久久综合99| 日本美女一区二区| 亚洲综合色视频| www国产精品av| 99精品偷自拍| 美女视频网站黄色亚洲| 国产精品久久久久一区二区三区共 | 五月天亚洲精品| 欧美精品tushy高清| 成人国产视频在线观看| 免播放器亚洲一区| 亚洲视频一二三区| 精品国产乱码91久久久久久网站| 高潮精品一区videoshd| 另类小说图片综合网| 亚洲一区二区成人在线观看| 国产午夜亚洲精品理论片色戒 | 欧美一级日韩免费不卡| 成人丝袜高跟foot| 国产成人av福利| 亚洲国产精品久久不卡毛片| 国产精品九色蝌蚪自拍| 久久久99精品免费观看| 88在线观看91蜜桃国自产| 色欲综合视频天天天| 成人午夜激情在线| 国产在线精品一区二区夜色| 热久久国产精品| 青青草视频一区| 中文字幕亚洲成人| 亚洲欧美视频一区| 自拍偷拍亚洲综合| 国产精品网站在线观看| 视频一区二区不卡| 亚洲精品国产精华液| 中文字幕 久热精品 视频在线| 国产午夜精品在线观看| xf在线a精品一区二区视频网站| 欧美人狂配大交3d怪物一区| 欧美一区二区三区不卡| 欧美不卡一二三| 国产日韩欧美高清在线| 国产精品女人毛片| 中文字幕av不卡| 中文字幕亚洲成人| 亚洲欧美日韩国产另类专区| 国产精品电影院| 亚洲国产精品一区二区www | 精品国产乱码久久| 777奇米四色成人影色区| 欧美成人性福生活免费看| 国产女人aaa级久久久级 | 欧美美女bb生活片| ww亚洲ww在线观看国产| **性色生活片久久毛片| 日韩精品五月天| 不卡av在线免费观看| 欧美军同video69gay| 久久精品人人爽人人爽| 国产精品久久一卡二卡| 亚洲国产成人av网| 九一久久久久久| 国产成人午夜高潮毛片| 91在线免费看| 制服视频三区第一页精品| 欧美性三三影院| 国产亚洲成av人在线观看导航| 亚洲女性喷水在线观看一区| 亚洲成人免费在线| 国产精品一级在线| 8x8x8国产精品| 国产精品伦理一区二区| 精品一区二区三区在线播放| 国产精品原创巨作av| 欧美在线制服丝袜|