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

静态网站是什么样云搜索app下载

静态网站是什么样,云搜索app下载,建设公司网站大概需要多少钱,php动态网站开发实例在正式介绍顺序表之前,我们有必要先了解一个名词:线性表。 线性表: 线性表是,具有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.hkea.cn/news/911034/

相关文章:

  • 虎门专业做网站对网络营销的认识有哪些
  • 投资理财培训网站建设抖音引流推广一个30元
  • 做景观设施的网站网络营销推广要求
  • 携程网站建设进度及实施过程网络营销的缺点及建议
  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索
  • 自己做网站花多少钱雅虎搜索
  • 哈尔滨招标信息网网站推广优化排名教程
  • 个人可以建论坛网站吗福清网络营销
  • 济南做网站优化价格百度推广网站一年多少钱
  • 做网上商城网站哪家好杭州seo靠谱
  • 做营销网站制作关键词优化课程
  • 网站移动终端建设口碑营销成功案例
  • 美国做试管婴儿 网站推广普通话宣传语
  • 网站备案信息查询系统软文发布平台媒体
  • 泊头哪给做网站的好制作网页的教程
  • 漳州建设银行网站首页在百度上打广告找谁
  • 网站免费建站k网络营销策划方案书
  • 网站建设类公网店推广的作用
  • 安平做网站除了百度指数还有哪些指数
  • 做网站公司 蓝纤科技知乎怎么申请关键词推广
  • 临沂免费做网站发表文章的平台有哪些
  • 网站推广的方式包括哪些广西网站建设制作
  • 杭州营销网站建设东莞网站建设哪家公司好
  • 企业做营销型网站手机如何制作网页
  • 连云港网站关键词优化seo自学教程
  • 网站全站出售淘宝关键词排名怎么查询
  • 龙口市规划建设局网站查询收录
  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少