当前位置: 首页 > 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.fp688.cn/news/145224.html

相关文章:

  • 哪里找做网站的公司海外营销方案
  • 网站的外链怎么做武汉千锋教育培训机构怎么样
  • 建设银行网站可以查保单吗在线域名解析ip地址
  • 高端网站建设多少钱百度app安装下载免费
  • 关于学院网站建设的意见中国万网域名注册
  • 个人可以做网站么广州网站建设正规公司
  • 惠州企业建站程序网站如何推广
  • 做啥网站赚钱?网站排名优化教程
  • vps主机可以做几个网站移动端关键词优化
  • 一起做英语作业网站佛山百度快速排名优化
  • 部门门户网站建设的目的北京做百度推广的公司
  • 大航母网站建设与运营sem 优化价格
  • 企业网站建设方案书 范本seo引擎优化是什么
  • 易县有没有z做网站的百度账号
  • 有趣的网站名称网站排名查询平台
  • 外贸网站建站推广免费网站代理访问
  • 网站建设 乐清网络公司seo百度百科
  • 免费的开发网站建设宁波关键词优化时间
  • php 爬取网站所有链接石家庄seo代理商
  • 微信用什么小程序可以提取文字优化软件
  • 闵行网站建设公司长沙专业网络推广公司
  • 福建大佳建设工程有限公司网站安卓优化大师老版本
  • 简洁网站模板下载seo 视频
  • 西安市政府网站建设管理规范今日头条新闻最新
  • 个人网站建立今日油价92汽油价格表
  • 网站制作网站模板b站网页入口
  • 诸城易讯网站建设服务中心淘宝关键词挖掘工具
  • 做财经直播网站百度有什么办法刷排名
  • 佛山 做网站深圳最新通告今天
  • 上海网站制作衫2022年每日新闻摘抄10一30字