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

焦作公司做网站网站建设地域名

焦作公司做网站,网站建设地域名,如何申请一个网站空间,莱州木籽网络科技有限公司在正式介绍顺序表之前,我们有必要先了解一个名词:线性表。 线性表: 线性表是,具有n个相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、数组、字符串... 线性表在逻辑上是线性结构,但…

在正式介绍顺序表之前,我们有必要先了解一个名词:线性表。

线性表:

线性表是,具有n个相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、数组、字符串...

线性表在逻辑上是线性结构,但在物理结构上并不一定是连续的。


1. 顺序表概念

顺序表是用一段物理地址连续的储存单元、依次存储数据元素的线性结构,一般情况下采用数组存储。

 

2. 顺序表定义

typedef int SLDataType;// 顺序表数据类型typedef struct SeqList
{SLDataType* arr; // 指向动态开辟的数组int size;        // 有效数据个数int capacity;    // 容量
}SL;

3. 顺序表的初始化

顺序表的初始化,是使用 动态内存管理 开辟空间构造一个空的顺序表

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>#define DefaultCapacity 4 // 默认初始化空间大小void SLInit(SL* ps)
{assert(ps);SLDataType* tmp = (SLDataType*)malloc(sizeof(SLDataType) * DefaultCapacity);if (tmp == NULL){perror("malloc");exit(-1);}ps->arr = tmp;ps->capacity = DefaultCapacity;ps->size = 0;
}

4. 在pos位置插入元素

在pos位置插入数据之前,要检查动态顺序表的容量是否足够 ,

不够则利用 realloc函数 开辟一块更大的空间给顺序表。

检查容量/扩容:
void SLCapacityCheck(SL* ps)
{assert(ps);if (ps->size == ps->capacity){SLDataType* tmp = (SLDataType*)realloc(ps->arr, ps->capacity * 2 * sizeof(SLDataType));if (tmp == NULL){perror("realloc");exit(-1);}ps->capacity *= 2;ps->arr = tmp;}
}
插入:
void SLInsert(SL* ps, int pos, SLDataType x)
{assert(ps);SLCapacityCheck(ps);for (int i = ps->size - 1; i >= pos; i--){ps->arr[i + 1] = ps->arr[i];}ps->arr[pos] = x;ps->size++;
}

5. 删除pos位置元素

void SLErase(SL* ps, int pos)
{assert(ps);for (int i = pos + 1; i < ps->size; i++){ps->arr[i - 1] = ps->arr[i];}ps->size--;
}

6. 顺序表查找(按值查找)

int SLFind(SL* ps, SLDataType x)
{assert(ps);for (int i = 0; i < ps->size; i++){if (ps->arr[i] == x)return i;}// 找不到所查找的元素return -1;
}

在主函数中使用 SLFind函数 时,应检验 “返回值” 是否为非 -1,再使用

7. 顺序表的打印

void SLPrint(SL* ps)
{assert(ps);for (int i = 0; i < ps->size; i++){printf("%d ", ps->arr[i]);}printf("\n");
}

8. 顺序表销毁

void SLDestroy(SL* ps)
{assert(ps);free(ps->arr);ps->capacity = 0;ps->size = 0;
}

销毁 arr 所指向的空间,将空间还给操作系统。

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

相关文章:

  • 学校门户网站流程建设方案免费做问卷的网站
  • 网站建设必须要虚拟主机吗做一个人网站需要注意什么
  • 手机网站怎么做seo长春网站网站推广公司设计
  • 易语言做网站登陆白帽seo是什么
  • 外贸手机网站建设专业的网络营销公司
  • SEO网站链接模型网站名查询
  • 北京网站设计济南兴田德润评价老鹰画室网站哪家做的
  • 模板建网站餐饮类网站模板
  • 代理网站平台怎么用链接提取视频保存
  • 找人做网站去哪里增加wordpress小工具
  • 网站建设得要素网站特色分析
  • 珠海网站制作推广公司哪家好wordpress 仿站
  • 网站建设培训方案域名需要备案吗?
  • 江山网站设计wordpress公司展示网站
  • wordpress手机端404页面广州营销优化
  • 美食网站开发与设计文献综述优化核心系列网站
  • html网站可以做访问统计吗购物网站 开发
  • 网站首页模板代码常州网站建设价格
  • 四川住房城乡建设厅网站首页做足彩推荐赚钱的网站
  • 室内装饰公司网站模板欧模网室内设计网官网
  • 阿里云一个域名做两个网站排名优化服务
  • 网站后台批量上传图片网站建设相关费用
  • wordpress 删除版权信息广州seo运营
  • 石家庄专业做网站公司安卓小程序开发教程
  • 浙江省建设厅信息中心网站wordpress 判断移动端
  • 下载app 的网站 如何做wordpress仪表盘加速
  • 奢侈品网站 方案建设网络良好生态
  • 期货网站开发重庆建设施工安全管理网站
  • 心雨在线高端网站建设网页设计深圳市南山区住房和建设局网站
  • 嘉定个人网站建设宁波网站建设的过程