网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
数据结构C语言实现系列——线性表
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

#include <stdio.h>
#include <stdlib.h>
typedef int elemType;
/************************************************************************/
/*                以下是关于线性表顺序存储操作的16种算法                        */
/************************************************************************/
struct List{
    elemType *list;
    int size;
    int maxSize;
};

void againMalloc(struct List *L)
{    
    /* 空间扩展为原来的2倍,并由p指针所指向,原内容被自动拷贝到p所指向的存储空间 */
    elemType *p = realloc(L- >list, 2 * L->maxSize * sizeof(elemType));
    if(!p){    /* 分配失败则退出运行 */
        printf( "存储空间分配失败! ");
        exit(1);
    }
    L- >list = p;    /* 使list指向新线性表空间 */
    L- >maxSize = 2 * L->maxSize;    /* 把线性表空间大小修改为新的长度 */
}

/* 1.初始化线性表L,即进行动态存储空间分配并置L为一个空表 */
void initList(struct List *L, int ms)
{
    /* 检查ms是否有效,若无效的则退出运行 */
    if(ms  <= 0){
        printf( "MaxSize非法! ");
        exit(1);    /* 执行此函数中止程序运行,此函数在stdlib.h中有定义 */
    }
    L- >maxSize = ms;    /* 设置线性表空间大小为ms */
    L- >size = 0;
    L- >list = malloc(ms * sizeof(elemType));
    if(!L- >list){
        printf( "空间分配失败! ");
        exit(1);
    }
    return;
}

/* 2.清除线性表L中的所有元素,释放存储空间,使之成为一个空表 */
void clearList(struct List *L)
{
    if(L- >list != NULL){
        free(L- >list);
        L- >list = 0;
        L- >size = L->maxSize = 0;
    }
&nbs

  • 下一篇资讯: VC中的文件操作(CFILE)
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号