c语言pushback用法,C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack…

c语言pushback用法,C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack…include include include include includetyped typedefstruc DateType arr size tcapacility size tsize SeqList 创建空间 voidCheckCap SeqList Seq assert Seq if Seq gt size

#include

#include

#include

#include

#include

typedef int DateType;

typedef struct SeqList

{

DateType *arr;

size_t capacility;

size_t size;

}SeqList;

//创建空间

void CheckCapa(SeqList *Seq)

{

assert(Seq);

if (Seq->size >= Seq->capacility)

{

Seq->capacility = 2 * Seq->capacility + 3;

Seq->arr = (DateType*)realloc(Seq->arr, Seq->capacility * sizeof(DateType));

}

}

//初始化动态顺序表

void initSeqList(SeqList *Seq)

{

Seq->arr = NULL/* malloc(sizeof(DateType) * 3)*/;

Seq->capacility = 0;

Seq->size = 0;

}

//销毁空间

void DestroySeq(SeqList *Seq)

{

Seq->capacility = 0;

Seq->size = 0;

free(Seq->arr);

Seq->arr = NULL;

}

//尾插

void PushBack(SeqList *Seq,DateType x)

{

assert(Seq);

CheckCapa(Seq);

Seq->arr[Seq->size++] = x;

}

//尾删

void PopBack(SeqList *Seq)

{

assert(Seq);

if (Seq->size <= 0)

{

printf(“当前顺序表为空!无法继续删除\n”);

return;

}

–Seq->size;

printf(“\n”);

}

//打印动态顺序表

void PrintSeq(SeqList *Seq)

{

assert(Seq);

int index = 0;

if (Seq->size == 0)

{

printf(“当前顺序表为空!\n”);

return;

}

for (index = 0; index size; index++)

{

printf(“%d->”, Seq->arr[index]);

}

printf(“\n”);

}

void Test()

{

SeqList Seq;

initSeqList(&Seq);

PushBack(&Seq,1);

PushBack(&Seq, 2);

PushBack(&Seq, 3);

PushBack(&Seq, 4);

PrintSeq(&Seq);

PopBack(&Seq);

PrintSeq(&Seq);

DestroySeq(&Seq);

}

int main()

{

Test();

system(“pause”);

return 0;

}

原文:http://.blog.51cto.com//

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215022.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:52
下一篇 2026年3月18日 下午2:53


相关推荐

  • Python系列文章索引

    >>>importthisTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitis

    2021年12月30日
    39
  • Thread.IsBackground

    Thread.IsBackground解释:  获取或设置一个值,该值指示某个线程是否为后台线程。  后台线程不会防止应用程序的进程被终止掉。        注意:主线程中创建了一个线程,线程的IsBackground默认是设置为FALSE的。主线程退出时,IsBackground=FALSE线程继续执行下去,直到线程执行结束。IsBackground=TRUE的线程才会随着主线程的退出…

    2022年10月17日
    4
  • iOS 学习视频 资料集合 (视频 +博客)[通俗易懂]

    iOS 学习视频 资料集合 (视频 +博客)[通俗易懂]转载:https://blog.csdn.net/yst19910702/article/details/78809472无意间在网上发现一些学习资源,分享下。资源主要是一些视频资源和博客网站。这些资源主要针对一些初中学着。利用一些基础知识点,中级有小码哥的视频里的视频和组件化。(后面有些博客真的很不错)。总之都是杂七杂八的,分享出来旨在共同学习。有不好的地方还望指教。 虽然都是一些培训班的视频,…

    2022年7月27日
    7
  • UML——实现图

    UML——实现图UML——实现图

    2022年4月24日
    59
  • 场景管理,放弃场景图

    场景管理,放弃场景图场景图一直被认为是适合游戏的通用场景管理算法 仿佛没实现过场景图就不算写过引擎 但是经过思考和分析 我觉得场景图并不适合作为一种通用的场景组织方式 在下面我会说明理由 并提出一种替代的适合目前 mmorpg 网游的场景管理方式 如果大家有什么不同看法可以和我讨论 nbsp nbsp nbsp 场景图是一种层级组织场景的数据结构 要生成场景图就要选择一种层级关系 或曰父子关系 或曰继承关系 比如几何变换矩阵的

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号