news 2026/1/14 10:54:58

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/1/14 9:19:35

阿里一面灵魂一问:RPC或者HTTP什么时候需要序列化和反序列化?

有位读者问了&#xff0c;我这么一个问题&#xff1a; 不管是 RPC 或者 HTTP&#xff0c;只要传输的内容是「对象」&#xff0c;要想在接收方还原出一摸一样的「对象」&#xff0c;那就需要序列化和反序列化。 那什么是序列化和反序列化呢&#xff1f; RPC 能帮助我们的应用透明…

作者头像 李华
网站建设 2026/1/13 15:29:52

【Mac使用Z-Image生图教程】Draw Things配置方法与真实测试效果 Mac 下如何使用 Z-Image-Turbo?从安装到生图的完整教程

【Mac使用Z-Image生图教程】Draw Things配置方法与真实测试效果 关键词&#xff1a;Z-Image Turbo、Mac生图教程、Draw Things配置、阿里通义、AI绘图模型、Mac本地AI画图、AI生成图片、模型安装、Z Image Turbo使用方法 作为一名程序员&#xff0c;我天生对「大模型本地能不能…

作者头像 李华
网站建设 2026/1/14 2:18:56

(15)抽象工厂模式(了解)

抽象工厂模式相对于工厂方法模式来说&#xff0c;就是工厂方法模式是针对一个产品系列的&#xff0c;而抽象工厂模式是针对多个产品系列的&#xff0c;即工厂方法模式是一个产品系列一个工厂类&#xff0c;而抽象工厂模式是多个产品系列一个工厂类。 抽象工厂模式特点&#xff…

作者头像 李华
网站建设 2026/1/14 5:26:24

Waymo Open Dataset 从入门到精通:自动驾驶数据实践终极指南

Waymo Open Dataset 作为业界领先的自动驾驶数据集&#xff0c;为研究社区提供了丰富的感知数据和运动预测数据&#xff0c;是开展自动驾驶技术研究的理想起点。本指南将带您快速掌握这一强大工具&#xff0c;从环境配置到实战应用&#xff0c;全面解析数据集的核心价值。 【免…

作者头像 李华
网站建设 2026/1/14 8:32:52

Stacer:Linux系统优化与网络共享的一站式解决方案

Stacer&#xff1a;Linux系统优化与网络共享的一站式解决方案 【免费下载链接】Stacer Linux System Optimizer and Monitoring - https://oguzhaninan.github.io/Stacer-Web 项目地址: https://gitcode.com/gh_mirrors/st/Stacer 作为Linux用户&#xff0c;您是否曾经为…

作者头像 李华