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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? list.h

?? 常用的數(shù)據(jù)結(jié)構(gòu)和算法函數(shù)庫
?? H
字號:
/* Copyright (c) 2005, Simon HowardAll rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright    notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright    notice, this list of conditions and the following disclaimer in    the documentation and/or other materials provided with the    distribution. * Neither the name of the C Algorithms project nor the names of its    contributors may be used to endorse or promote products derived    from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*//** * @file list.h * * @brief Doubly-linked list. * * A doubly-linked list stores a collection of values.  Each entry in * the list (represented by a pointer a @ref ListEntry structure) * contains a link to the next entry and the previous entry. * It is therefore possible to iterate over entries in the list in either  * direction. * * To create an empty list, create a new variable which is a pointer to * a @ref ListEntry structure, and initialise it to NULL. * To destroy an entire list, use @ref list_free. * * To add data to a list, use @ref list_append or @ref list_prepend. * * To remove data from a list, use @ref list_remove_entry or  * @ref list_remove_data. * * To iterate over entries in a list, use @ref list_next and @ref list_prev, * along with the @ref list_data function to access data. * * To access an entry in the list by index, use @ref list_nth_entry or * @ref list_nth_data. * * To sort a list, use @ref list_sort. * */#ifndef ALGORITHM_LIST_H#define ALGORITHM_LIST_H/** * Represents an entry in a doubly-linked list.  The empty list is * represented by a NULL pointer. To initialise a new doubly linked  * list, simply create a variable of this type  * containing a pointer to NULL. */typedef struct _ListEntry ListEntry;/** * Callback function used for iterating over a list. * * @param data        The element being iterated over. * @param user_data   Extra data specified by the user. */typedef void (*ListIterator)(void *data, void *user_data);/** * Callback function used to compare values in a list when sorting. * * @param data1       The first value to compare. * @param data2       The second value to compare. * @return            A negative value if data1 should be sorted before  *                    data2, a positive value if data1 should be sorted  *                    after data2, zero if data1 and data2 are equal. */typedef int (*ListCompareFunc)(void *data1, void *data2);/** * Callback function used to determine of two values in a list are * equal. * * @param data1       The first value to compare. * @param data2       The second value to compare. * @return            A non-zero value if data1 and data2 are equal, zero *                    if they are not equal. */typedef int (*ListEqualFunc)(void *data1, void *data2);/** * Free an entire list. * * @param list           The list to free. */void list_free(ListEntry *list);/** * Prepend data to the start of a list. * * @param list      Pointer to the list to prepend to. * @param data      Data to prepend. * @return          The new entry in the list. */ListEntry *list_prepend(ListEntry **list, void *data);/** * Append data to the end of a list. * * @param list      Pointer to the list to append to. * @param data      Data to append. * @return          The new entry in the list. */ListEntry *list_append(ListEntry **list, void *data);/**  * Retrieve the previous entry in a list. * * @param listentry    Pointer to the list entry. * @return             The previous entry in the list, or NULL if this  *                     was the first entry in the list. */ListEntry *list_prev(ListEntry *listentry);/**  * Retrieve the next entry in a list. * * @param listentry    Pointer to the list entry. * @return             The next entry in the list, or NULL if this was the *                     last entry in the list. */ListEntry *list_next(ListEntry *listentry);/** * Retrieve the data at a list entry. * * @param listentry    Pointer to the list entry. * @return             The data at the list entry. */void *list_data(ListEntry *listentry);/**  * Retrieve the entry at a specified index in a list. * * @param list       The list. * @param n          The index into the list . * @return           The entry at the specified index, or NULL if out of range. */ListEntry *list_nth_entry(ListEntry *list, int n);/**  * Retrieve the data at a specified entry in the list. * * @param list       The list. * @param n          The index into the list . * @return           The data at the specified index, or NULL if  *                   unsuccessful. */void *list_nth_data(ListEntry *list, int n);/**  * Find the length of a list. * * @param list       The list. * @return           The number of entries in the list. */int list_length(ListEntry *list);/** * Create a C array containing the contents of a list. * * @param list       The list. * @return           A newly-allocated C array containing all values in the *                   list.  The length of the array is equal to the length *                   of the list (see @ref list_length). */void **list_to_array(ListEntry *list);/**  * Iterate over all entries in a list. * * @param list       The list. * @param callback   Callback function to invoke for each entry in the list. * @param user_data  Extra data to pass to the callback function. */void list_foreach(ListEntry *list, ListIterator callback, void *user_data);/** * Remove an entry from a list. * * @param list       Pointer to the list. * @param entry      The list entry to remove . * @return           If the entry is not found in the list, returns zero, *                   else returns non-zero. */int list_remove_entry(ListEntry **list, ListEntry *entry);/** * Remove all occurrences of a particular piece of data from a list. * * @param list       Pointer to the list. * @param callback   Function to invoke to compare data against the  *                   data to be removed. * @param data       The data to remove from the list. * @return           The number of entries removed from the list. */int list_remove_data(ListEntry **list, ListEqualFunc callback, void *data);/** * Sort a list. * * @param list          Pointer to the list to sort. * @param compare_func  Function used to compare values in the list. */void list_sort(ListEntry **list, ListCompareFunc compare_func);/** * Find the entry for a particular data item in a list. * * @param list           The list to search. * @param callback       Callback function to be invoked to determine if *                       values are equal to the data to search for. * @param data           The data to search for. * @return               The list entry of the item being searched for, or *                       NULL if not found. */ListEntry *list_find_data(ListEntry *list,                           ListEqualFunc callback,                          void *data);#endif /* #ifndef ALGORITHM_LIST_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情社区| 精品国产免费人成电影在线观看四季 | 久久综合色婷婷| 国产一区二区在线观看免费| 久久天天做天天爱综合色| 国产成人精品一区二区三区四区 | 91精品国产免费久久综合| 美腿丝袜在线亚洲一区 | 成人一区在线观看| 亚洲丝袜制服诱惑| 欧美亚洲国产一区二区三区| 日本不卡一区二区三区高清视频| 日韩视频在线你懂得| 国产又黄又大久久| 亚洲视频图片小说| 日韩欧美国产综合| 成人黄动漫网站免费app| 夜夜操天天操亚洲| 精品福利二区三区| 色婷婷激情综合| 麻豆91免费看| 亚洲视频在线一区二区| 欧美一区二区黄色| 成人av资源在线观看| 婷婷久久综合九色综合绿巨人 | 欧美精品18+| 国产激情一区二区三区桃花岛亚洲| 自拍偷拍欧美精品| 欧美va在线播放| av中文字幕不卡| 美国精品在线观看| 一级中文字幕一区二区| 日韩欧美精品三级| 在线观看亚洲a| 国产成人精品在线看| 日韩 欧美一区二区三区| 亚洲欧美综合另类在线卡通| 日韩欧美久久久| 在线免费精品视频| 不卡影院免费观看| 激情成人综合网| 亚洲二区在线观看| 中文字幕一区二区不卡 | 国产成人av一区二区三区在线 | 中文字幕一区日韩精品欧美| 日韩午夜av一区| 欧美在线高清视频| 成人h动漫精品| 国产精品白丝av| 蜜臀国产一区二区三区在线播放| 亚洲乱码精品一二三四区日韩在线 | 亚洲男人天堂一区| 欧美激情综合五月色丁香小说| 欧美日韩高清一区二区| 91美女片黄在线观看91美女| 国产91丝袜在线播放九色| 久久精品国产在热久久| 亚洲电影你懂得| 亚洲图片激情小说| 亚洲欧洲www| 国产精品无遮挡| 欧美激情一区二区三区不卡 | 日韩欧美资源站| 欧美福利视频导航| 欧美日韩精品一区二区三区四区| 99re热视频精品| k8久久久一区二区三区| 国产成人丝袜美腿| 国产盗摄一区二区三区| 国产久卡久卡久卡久卡视频精品| 美女视频第一区二区三区免费观看网站| 亚洲一区二区黄色| 亚洲成人动漫在线免费观看| 亚洲一区视频在线观看视频| 亚洲国产精品久久久久婷婷884| 一区二区三区四区国产精品| 一区二区三区在线观看国产| 激情都市一区二区| 久久精品国产网站| 久久99精品国产麻豆不卡| 裸体歌舞表演一区二区| 国产一区视频网站| 成人免费看黄yyy456| 91在线观看地址| 欧美日韩久久久| 91精品婷婷国产综合久久| 精品入口麻豆88视频| 国产亚洲午夜高清国产拍精品| 久久久精品天堂| 中文字幕在线观看一区| 亚洲女人****多毛耸耸8| 亚洲在线观看免费视频| 麻豆成人免费电影| 国产精品综合久久| 99在线精品一区二区三区| 欧美在线free| 欧美成人免费网站| 欧美激情一区二区| 洋洋成人永久网站入口| 日韩电影在线一区二区| 国产美女在线观看一区| 91色视频在线| 日韩视频永久免费| 国产精品成人一区二区艾草| 亚洲午夜三级在线| 黄色日韩网站视频| 91玉足脚交白嫩脚丫在线播放| 欧美性受xxxx黑人xyx性爽| 日韩精品在线一区二区| 国产精品电影一区二区三区| 午夜伊人狠狠久久| 成人综合婷婷国产精品久久免费| 欧洲一区二区三区免费视频| 26uuu精品一区二区在线观看| 综合色天天鬼久久鬼色| 日本欧美久久久久免费播放网| 成人一道本在线| 在线不卡的av| 日韩一区在线免费观看| 另类欧美日韩国产在线| 色94色欧美sute亚洲线路二| 欧美成人综合网站| 亚洲欧美日韩国产成人精品影院| 免费成人你懂的| 色播五月激情综合网| 欧美精品一区二区三区视频| 亚洲一区二区三区视频在线播放| 国产一区二区久久| 欧美电影影音先锋| 亚洲日本护士毛茸茸| 国产福利91精品一区二区三区| 欧美久久久久久久久中文字幕| 中文字幕日韩一区| 九九久久精品视频| 3atv一区二区三区| 亚洲一区二区三区精品在线| 成人激情午夜影院| 久久久久久久久久久99999| 亚洲aaa精品| 91成人国产精品| 国产精品久久免费看| 激情图区综合网| 91精品国产色综合久久ai换脸| 亚洲综合999| 色一情一伦一子一伦一区| 欧美国产1区2区| 国产一区美女在线| 欧美一区二区在线免费播放| 亚洲一区二区三区视频在线| 91丨国产丨九色丨pron| 中文字幕中文乱码欧美一区二区| 国产真实精品久久二三区| 日韩欧美一区二区免费| 日韩精品一级中文字幕精品视频免费观看 | 成人免费va视频| 国产欧美视频一区二区三区| 国产一区二区按摩在线观看| 日韩欧美一二区| 蜜臀av一区二区三区| 欧美一个色资源| 蜜桃视频一区二区| 欧美一区二区三区白人| 视频一区国产视频| 56国语精品自产拍在线观看| 日韩精品一二三四| 欧美大片一区二区| 久久精品99久久久| 欧美精品一区视频| 国产成人在线免费| 中文字幕高清不卡| 99r国产精品| 亚洲精品国产品国语在线app| 色哟哟在线观看一区二区三区| 亚洲欧美另类久久久精品2019| 一本大道av伊人久久综合| 亚洲精品国产精品乱码不99 | 日韩欧美国产一二三区| 日韩不卡免费视频| 精品粉嫩超白一线天av| 成人听书哪个软件好| 国产精品第一页第二页第三页| www.日本不卡| 亚洲一区电影777| 日韩三级高清在线| 国产麻豆成人精品| 国产精品毛片无遮挡高清| 在线观看精品一区| 免费视频最近日韩| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品九色蝌蚪自拍| 欧美在线一二三| 麻豆精品一区二区av白丝在线| wwwwww.欧美系列| 99久久久精品| 天天亚洲美女在线视频| 国产亚洲欧美色| 欧美伊人精品成人久久综合97| 蜜桃在线一区二区三区| 国产日韩一级二级三级| 欧美三级在线播放|