IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 顺序表的基本操作——初始化表 -> 正文阅读

[数据结构与算法]顺序表的基本操作——初始化表

为避免表中留有脏数据,首先要对表进行初始化,使之后创建表内数据时,不会受到影响。

#include<stdio.h>

#define?MaxSize 10? ? /*此处创建的是静态链表,此句默认了表的最大数据长度10,后面对此表的长度最大长度不能进行修改;若是动态链表则还可以通过创建指针进行修改*/

tppedef struct{int data[MaxSize];? ? ? ? ? ? ? ? ? ? ? ?/*静态链表采用数组存储并调用,所以用*/

? ? ? ? ? ? ? ? ? ? ? ?int length;}sqList;? ? ? ? ? ? ? ? ? ? ? ? /*data[MaxSize]*/

void InitList(sqList &L){for(int i=0; i<=MaxSize; i++)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L.data[i]=0;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L.length=0;}? ? ? ? /*此处在遍历顺序表,并赋值0,清理表中可能存留的脏数据,且此时表的长度为0;*/

int main(){sqList L;

? ? ? ? ? ? ? ? InitList(L);

? ? ? ? ? ? ? ? return 0;}

与此相对比的动态数据表:

#include<stdio.h>

#define InitSize 10? ? ? ? ? ? ? ? /*此处于静态链表一样,需调用#define InitList10来默认表的长度,不同是的,动态链表可以修改表长;*/

typedef struct {int *data;? ? ? ? ? ? ? ? ? ? ? ? /*动态链表采用指针*/

? ? ? ? ? ? ? ? ? ? ? ? int MaxSize;

? ? ? ? ? ? ? ? ? ? ? ? int length;}sqList;

void InitList(sqList &L){ L.data=(int *)malloc(InitSize*sizeof(int));

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L.MaxSize =InitSize;? ? ? ? ? ? ? ? ? ? ?/*清除脏数据无需像静态链表*/

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L.length =0;}? ? ? ?/*?一样,完整的遍历数组,只需将L.length =0;*/

void IncreaseList(sqList &L, int len){? ? ? ? ? ? ? ?int *p=L.data;

?/*有malloc就必有free;?? ? ? ? ? ? ? ? ? ??? ? ??????????????L.data=(int *)malloc((L.length?+len)*sizeof(int));

?动态链表增加链表长度时,? ? ? ? ?? ? ??????????????for(int i=0; i<L.length; i++)

?需要再创建一个指针,将*p指向? ? ? ? ? ????????????????L.data[i]=p[i];? ? ? ?

*data,之后改变L.data的长度,? ? ? ? ????????????????L.MaxSize=L.MaxSize +len;

再进行遍历,并将指针p的值一一传回L.data*/? ? free(p);}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

int main(){sqList L;

? ? ? ? ? ? ? ? InitList(L);

? ? ? ? ? ? ? ? IncreaseList(L,5);

? ? ? ? ? ? ? ? return 0;}

以上是静态链表和动态俩表在初始化表和增加表长的区别。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 15:08:14  更:2021-10-24 15:09:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:34:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码