当前位置: 首页 > news >正文

成都装修网站制作价格抖音代运营收费详细价格模板

成都装修网站制作价格,抖音代运营收费详细价格模板,免费自学编程100例,做涂鸦的网站目录 1.线性表 2.分类 1.静态顺序表:使用定长数组存储元素 代码示例(写入Seqlist.h中) 2.动态顺序表:使用与动态内存管理有关的函数 代码示例(写入Seqlist.h中) 补:数据管理的四个需求:增改删查 3.操作顺序表 1.初始化顺序表 1.不开辟空间 2.开辟空间 1…

目录

1.线性表

2.分类

1.静态顺序表:使用定长数组存储元素

代码示例(写入Seqlist.h中)

2.动态顺序表:使用与动态内存管理有关的函数

代码示例(写入Seqlist.h中)

补:数据管理的四个需求:增改删查

3.操作顺序表

1.初始化顺序表

1.不开辟空间

2.开辟空间

1.传值调用

2.传址调用

SeqList项目的函数的传址调用的过程


在软件开发中,存储列表常用顺序表或链表

1.线性表

定义:n个具有相同特性的数据元素的有限序列(相当于一条直线)(用数组存储),要求数据依次存储

2.分类

1.静态顺序表:使用定长数组存储元素

代码示例(写入Seqlist.h中)

typedef int SLDataType;//将int重定义为SLDataType
#define N 10
struct Seqlist
{SLDataType a[N];int size;
};

备注:SLDataType的全称 Sequence List Data Type,a[N]为int类型,含10个元素的空间

想修改a数组的空间大小,修改#define的那一行即可

缺点:空间少了不够用,空间多了浪费

2.动态顺序表:使用与动态内存管理有关的函数

代码示例(写入Seqlist.h中)

typedef int SLDataType;//将int重定义为SLDataType
struct Seqlist
{SLDataType* a;int size;int capacity;//空间的容量
};

补:数据管理的四个需求:

增:增加(插入数据); 删:删除数据; 查:搜索数据; 改:修改数据的内容

3.操作顺序表

1.初始化顺序表

1.不开辟空间

SeqList.h

#pragma once
#include <stdio.h>
#include <stdlib.h>typedef int SLDataType;//将int重定义为SLDataType
typedef struct Seqlist
{SLDataType* a;//动态顺序表int size;//有效数据的个数int capacity;//空间的容量
}SL;//SL 就是 struct Seqlist void SeqInit(SL s);//声明初始化顺序表的函数
void SeqDestory(SL s);//声明销毁顺序表的函数

将结构体写入头文件,这样多个源文件可以同时引用

main.c

#include "SeqList.h"
SL s;//全局变量//定义测试顺序表的函数
void TestSeqList1()
{SeqInit(s);
}int main()
{TestSeqList1();return 0;
}

注意:不能将SL s;写在TestSeqList1内,否则未初始化会报错

 

SeqList.c(将对操作顺序表的函数写入此文件)

#include "SeqList.h"
void SeqInit(SL s)
{s.a = NULL;s.size = 0;s.capacity = 0;
}

上述为s.a赋值为NULL

2.开辟空间

1.传值调用

在SeqList.h中添加

#define INIT_CAPACITY 4//初始容量为4

SeqList.c修改为

#include "SeqList.h"
void SeqInit(SL s)
{s.a = (SLDataType*)malloc(sizeof(SLDataType)*INIT_CAPACITY);if (s.a == NULL){perror("malloc");//错误返回,不用返回具体的数,因为SeqInit的返回类型为voidreturn;}s.size = 0;s.capacity = INIT_CAPACITY;
}

注意:

1.在68.【C语言】动态内存管理(重点)(1) 讲过,malloc函数可能开辟不成功,需要判断返回的指针是否为NULL

2.这里SeqInit(s);是传值调用,形参是实参的一份拷贝

2.传址调用

SeqList.h

#pragma once
#include <stdio.h>
#include <stdlib.h>typedef int SLDataType;//将int重定义为SLDataType
#define INIT_CAPACITY 4
typedef struct Seqlist
{SLDataType* a;//动态顺序表int size;//有效数据的个数int capacity;//空间的容量
}SL;void SLInit(SL* ps);//声明初始化顺序表的函数
void SLDestory(SL* ps);//声明销毁顺序表的函数

main.c

#include "SeqList.h"
//定义测试顺序表的函数
void TestSeqList1()
{SL s;SLInit(&s);SLDestory(&s);
}int main()
{TestSeqList1();return 0;
}

SeqList.c(将对操作顺序表的函数写入此文件)

#include "SeqList.h"
void SLInit(SL* ps)
{ps->a = (SLDataType*)malloc(sizeof(SLDataType)*INIT_CAPACITY);if (ps->a == NULL){perror("malloc");return ;//错误返回}ps->size = 0; ps->capacity = 0;
}
SeqList项目的函数的传址调用的过程

main()-->TestSeqList1()-->SLInit(&s)-->函数逐个返回

2.销毁顺序表

SeqList.c写入

void SLDestory(SL *ps)
{free(ps->a);ps->a = NULL;ps->size = ps->capacity = 0;
}

注:在定义结构体时, a为指针,先对指针释放,再置为NULL;size和capacity为int类型,置为0即可

SLDataType* a;
int size;
int capacity;

http://www.yayakq.cn/news/319167/

相关文章:

  • 网站维护运营优化公司做动态图的网站
  • 网站后台多个管理员鹤岗住房和城乡建设局网站
  • 天河做网站要多少钱外包小程序开发的价格
  • 湖南昌华建设集团网站网站建设网站形象
  • 网站建设学习流程网站为何要屏蔽百度蜘蛛
  • icp网站备案号查询做外贸女装有哪些网站
  • 携程做网站的流程邢台网站招聘员工123
  • 向自己做网站网站开发新功能
  • 做网站销售这几天你学到了什么wordpress 首页缩列图
  • 安装php网站网上互联网推广
  • 外包活加工官方网站网站文件夹名
  • 网页设计的网站推荐长沙有实力的关键词优化价格
  • 网站改版 降权免费百度下载
  • 车公庙网站建设重庆市公共资源交易中心网官网
  • 新网的网站建设一般是多少钱手机app制作网站
  • 网站文章更新要求c4d培训
  • 天津专业做网站昆明做网站开发维护的公司
  • 网站加载速度影响因素做运营需要具备什么能力
  • 彩票网站 建设昆明电子商务网站
  • 广元商城网站开发做网站就业要会什么问题
  • 网站开发技术员传媒网站制作
  • 免费建立自己的网站代理做网站友情链接互换
  • 怎么做个手机版的网站吗上海外贸网站建设公司
  • 秦皇岛网站关键词网站建设电商
  • 网站死链检测工具商标注册号
  • 门户网站域名是什么意思seo平台怎么样
  • 有哪些做的比较好的网站wordpress自媒体主题ming
  • 陕西省建设厅的网站如何规划一个外贸网站
  • 学做蛋糕哪个网站好网站推荐
  • 潍坊网站关键词推广免费做封面的网站