news 2026/6/21 23:11:27

c语言——链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言——链表

一、顺序表

#include<stdio.h> #include<stdlib.h> #include<errno.h> #pragma once //防止头文件被多次包含 #define N 100 typedef int SLDataType; //静态顺序表 typedef struct SeqList { int* a; int size; //表示数组中存储了多少个数据 int capacity; //数组实际能存数据的空间容量是多大 }SL; //接口函数--命名风格是跟着STL走的,方便后续学习STL //void SeqListInit(SL * ps); //void SeqListPushBack(SL* ps, SLDataType x); //void SeqListPopBack(SL* ps); //void SeqListPushFront(SL* ps, SLDataType x); //void SeqListPopFront(SL* ps); //初始化 void SeqListInit(SL* ps) { ps->a = NULL; ps->size = 0; ps->capacity = 0; } //尾插法 void SeqListPushBack(SL* ps, SLDataType x) { //如果没有空间或者空间不足,扩容 int newcapacity = 0; if (ps->size == ps->capacity) { if (ps->capacity == 0) newcapacity = 4; else newcapacity = ps->capacity * 2; SLDataType* tmp = (SLDataType*)realloc(ps->a, newcapacity * sizeof(SLDataType)); if (tmp == NULL) { perror("SeqListPushBack"); exit(-1);//异常则退出 } ps->a = tmp; ps->capacity = newcapacity; } ps->a[ps->size] = x; ps->size++; } void SeqListPrint(SL* ps) { int i = 0; for (i = 0;i < ps->size;i++) printf("%d ", ps->a[i]); printf("\n"); } void TestSeqList1() { SL s1; SeqListInit(&s1); SeqListPushBack(&s1, 1); SeqListPushBack(&s1, 2); SeqListPushBack(&s1, 3); SeqListPushBack(&s1, 4); SeqListPushBack(&s1, 5); SeqListPushBack(&s1, 6); SeqListPrint(&s1); } int main() { TestSeqList1(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 7:57:56

JDBC使用

1 JDBC介绍JDBC : java database connectivity "编写java程序 实现对任意一个DBMS软件的数据进行增删改查&#xff0c;都需要使用JDBC" JDBC是sun公司发布的一套关于数据库的规范 JDBC实际上就是一套接口&#xff0c;各个数据库厂商都需要实现这个接口&#xff0c;实…

作者头像 李华
网站建设 2026/6/19 9:25:01

(14)工厂方法模式

6.3 工厂方法模式 工厂方法模式既保留了简单工厂模式的优点&#xff0c;同时又解决了简单工厂模式的缺点。怎么解决简单工厂模式的缺点&#xff08;不符合OCP开闭原则&#xff09;的&#xff1f; 一个工厂对应生产一种产品 工厂方法模式的角色包括&#xff1a;抽象工厂角色具体…

作者头像 李华
网站建设 2026/6/21 11:22:56

开源鸿蒙跨平台开发训练营--AtomGit(GitCode)口袋工具(六)

获取代码仓库文件列表如下图所示&#xff1a;我们先实现从网络获取文件列表的接口该接口会返回文件列表集合。实例数据如下所示&#xff1a;[.gitignore, ArkTSCangjieHybridApp/.gitignore, ArkTSCangjieHybridApp/AppScope/resources/base/element/string.json, ArkTSCangjie…

作者头像 李华
网站建设 2026/6/20 23:22:29

零基础也能上手!Wan2.2-T2V-A14B本地化部署全指南

零基础也能上手&#xff01;Wan2.2-T2V-A14B本地化部署全指南 你有没有想过&#xff0c;有一天只需要输入一句话&#xff1a;“一个穿汉服的女孩在樱花树下跳舞&#xff0c;微风吹起她的长发”&#xff0c;就能自动生成一段高清视频&#xff1f;这不再是科幻电影的桥段——Wan2…

作者头像 李华
网站建设 2026/6/20 10:03:26

一文看懂供应链全景:从需求到交付的全链路十二大模块拆解

供应链这几年越来越难做&#xff0c;不是因为业务复杂&#xff0c;而是因为企业用的工具没跟上。很多问题表面看像“经验不足”“沟通不到位”&#xff0c;但实际上是因为没有一套系统来兜底。不是说一定要上系统才专业&#xff0c;而是规模一旦起来&#xff0c;没有系统就会看…

作者头像 李华