• 【数据结构】静态链表的实现(C语言描述)

    #include <stdio.h>
    #include "stdlib.h"
    
    
    #define OK 1
    #define ERROR 0
    #define TRUE 1
    #define FALSE 0
    
    #define MAXSIZE 1000    // 定义线性表最大容量
    
    typedef int Status;
    typedef int ElemType;
    
    
    // 定义静态链表的存储结构
    typedef struct
    {
        ElemType  data;     // 数据域
        int       curr;     // 存放下一个节点在数组中的下标
    } Node;
    
    // 定义StaticLinkList
    typedef Node StaticLinkList[MAXSIZE] ;
    
    // 先初始化一个备用的静态表(其实是数组)
    // L[0].curr = 1, L[1].curr = 2, L[2].curr = 3 ...
    Status InitList(StaticLinkList L){
    
        for(int i=0; i< MAXSIZE; i++){
            L[i].curr = i+1;
        }
        // 当前静态链表为空表,最后一个元素所指向的下一个元素的下标为0(也就是指向一个元素)
        L[MAXSIZE-1].curr = 0;
    
        return  OK;
    }
    
    // 获取空闲元素的下标 并将下标存放在L[0].curr 中
    int GetBlankIndex(StaticLinkList L){
        // L[0].curr 始终存的是空闲元素的下标
        int blankIndex = L[0].curr;
        if (L[0].curr) L[0].curr = L[blankIndex].curr;
    
        return  blankIndex;
    }
    
    
    Status ListInsert(StaticLinkList L, ElemType e){
    
        int blankIndex = GetBlankIndex(L);
    
        L[blankIndex].data = e;
    
        return OK;
    }
    
    
    // 删除第i个元素
    Status ListDelete(StaticLinkList L, int i){
    
        return  OK;
    }
    
    
    void Visit(StaticLinkList L){
        int blankIndex = GetBlankIndex(L);
    
        for (int i = 1; i < blankIndex; ++i) {
            printf("%d ",L[i].data);
        }
        printf("\n");
    }
    
    
    int main() {
        StaticLinkList L;
        InitList(L);
    
        for(int i=1; i<=5; i++){
            ListInsert(L, i);
        }
    
        Visit(L);
    
    
    
    }
    相关文章
    相关标签/搜索
    四肖八码中特二四六天天好彩免费资料大全香港马会最快开奖现场开奖结果免费资料历史记录大全一肖一码期期准1 一在线查询网 磐安县| 昆明市| 皮山县| 堆龙德庆县| 平阳县| 龙游县| 临汾市| 黄大仙区| 宜兴市| 额敏县| 长沙市| 育儿| 南涧| 沙湾县| 仙居县| 东台市| 永泰县| 勃利县| 瓦房店市| 肇源县| 固镇县| 温泉县| 隆回县| 通河县| 敦化市| 西乌| 玛多县| 尚义县| 兰溪市| 从化市| 巴南区| 凤翔县| 泾阳县| 神木县| 得荣县| 金堂县| 长治市| 木里| 堆龙德庆县| 固原市| 乌兰察布市| 彰化市| 瓦房店市| 莒南县| 黎平县| 永靖县| 赤水市| 夹江县| 湘潭市| 西峡县| 宜黄县| 成安县| 时尚| 辽宁省| 安塞县| 赤城县| 来凤县| 大荔县| 沧州市| 汤原县| 梧州市| 巫山县| 平塘县| 霞浦县| 枣强县| 延庆县| 尼勒克县| 郑州市| 潞城市| 齐河县| 阳西县| 石嘴山市| 清水河县| 准格尔旗| 高淳县| 西林县| 三亚市| 镇巴县| 中江县| 衡山县| 东港市| 阳城县| 东源县| 虎林市| 蓝田县| 东台市| 那坡县| 华池县| 页游| 洛南县| 绥芬河市| 梅河口市| 朔州市| 阿克苏市| 丹寨县| 惠东县| 福鼎市| 鄯善县| 晋宁县| 大邑县| 高阳县| 简阳市| 巢湖市| 凤山市| 阳原县| 盘山县| 宣城市| 炎陵县| 绥宁县| 武汉市| 明溪县| 阿拉善左旗| 定南县| 河曲县| 陵水| 霞浦县| 水富县| 南京市| 成都市| 峨边| 迁安市| 邵阳市| 米林县| 德令哈市| 陕西省| 类乌齐县| 阳信县| 长丰县| 萍乡市| 曲周县| 安阳市| 谢通门县| 扬州市| 仪陇县| 岱山县| 邛崃市| 吕梁市| 穆棱市| 双城市| 晋中市| 长治市| 内丘县| 泽库县| 那曲县| 潮州市| 闽清县| 东乌| 育儿| 望奎县| 台山市| 宜兰市| 拜泉县| 昌邑市| 叙永县| 巴中市| 什邡市| 连平县| 沈丘县| 陈巴尔虎旗| 鸡西市| 千阳县| 汉寿县| 瑞昌市| 共和县| 原阳县| 旬阳县| 马公市| 山西省| 仙游县| 华亭县| 乌鲁木齐县| 鄂托克前旗| 丹阳市| 二连浩特市| 郯城县| 鄂伦春自治旗| 静海县| 惠州市| 麦盖提县| 定陶县| 文山县| 盖州市| 郸城县| 深水埗区| 沁水县| 偏关县| 德清县| 石台县| 盱眙县| 天气| 界首市| 西城区| 安化县| 静海县| 微山县| 武清区| 渝北区| 大同县| 新宁县| 双江| 淳化县| 宝鸡市| 平远县| 邹平县| 浦江县| 怀来县| 甘泉县| 竹溪县| 永康市| 清水河县| 白玉县| 福州市| 元阳县| 阜平县| 泸溪县| 美姑县| 湾仔区| 隆子县| 普定县| 津市市| 武宁县| 昌邑市| 东方市| 绥中县| 定兴县| 咸阳市| 崇明县| 万山特区| 高淳县| 离岛区| 逊克县| 遂平县| 韩城市| 和平县| 留坝县| 曲麻莱县| 特克斯县| 祁连县| 家居| 屏山县| 武穴市| 长汀县| 志丹县| 柳河县| 怀化市| 太保市| 常宁市| 中卫市| 巴彦淖尔市| 长乐市| 谷城县| 定边县| 尼木县| 应城市| 濮阳县| 巨鹿县| 平塘县| 武陟县| 翼城县| 酒泉市| 黑龙江省| 江油市| 阳泉市| 青田县| 修水县| 鲁山县| 汝阳县| 漠河县| 城步| 夏邑县| 泉州市| 金门县| 阜南县| 镇赉县| 竹北市| 修水县| 申扎县| 塔河县| 平远县| 岗巴县| 巧家县| 宾川县| 四川省| 泉州市| 肥乡县| 绿春县| 于都县| 平乡县| 施秉县| 红原县| 卢氏县| 西藏| 民权县| 观塘区| 安远县| 盈江县| 星座| 台北县| 枞阳县| 潜江市| 威海市| 鹤岗市| 灵丘县| 广灵县| 安西县| 修武县| 涿鹿县| 黔西县| 阜新| 辽中县| 宝丰县| 呼图壁县| 庄河市| 鹤岗市| 华安县| 滨海县| 兰溪市| 邹城市| 兴城市| 陇川县| 德阳市| 孝昌县| 清河县| 嘉禾县| 弋阳县| 黄大仙区| 蒙城县| 贡嘎县| http://3g.gz1980aidc.fun http://3g.bo2020fields.fun http://3g.yqo3j1rl9v.fun http://3g.bo2020supports.fun http://3g.bo2020reserves.fun http://3g.gz1980understandc.fun http://3g.gz1980statec.fun http://3g.gz1980bellc.fun http://3g.yqo3j2rl6v.fun http://3g.bo2020charters.fun http://3g.gz1980continuec.fun http://3g.yqo4j4rl6v.fun http://3g.bo2020floors.fun http://3g.gz1980callc.fun http://3g.jvz0j4r3o.fun http://3g.gz1980rootc.fun http://3g.yqo2j5rl7v.fun http://3g.gz1980seasonc.fun