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

建设民政局网站需要多少钱企业为什么要做网络营销推广

建设民政局网站需要多少钱,企业为什么要做网络营销推广,做网站的属于什么工作类型,wordpress怎么开启注册前言#xff1a;在上一篇文章中#xff0c;我们已经对数据结构有了一定了解#xff0c;我们可以通过优化空间复杂度或者时间复杂度从而提高我们程序运行或存储速率。至此我们就知道了数据结构的重要性#xff0c;所以今天我们将要了解和学习一种实用的数据结构——线性表。…前言在上一篇文章中我们已经对数据结构有了一定了解我们可以通过优化空间复杂度或者时间复杂度从而提高我们程序运行或存储速率。至此我们就知道了数据结构的重要性所以今天我们将要了解和学习一种实用的数据结构——线性表。一、线性表概述线性表linear list是数据结构的一种一个线性表是n个具有相同特性的数据元素的有限序列是最基本、最简单也最常用的一种数据结构。线性表中的数据元素之间的关系是一对一的关系即除了第一个和最后一个数据元素之外其他数据元素都是首尾相连的注意这句话只适用大部分线性表而不是全部。比如循环链表逻辑层次上也是线性表但存储层次上属于链式存储是把最后一个数据元素的尾指针指向了首位节点线性表在逻辑上是线性结构但是在物理结构并不一定是连续的线性表在物理上存储时通常以数组和链式结构的形式存储。 常见的线性表顺序表、链表、栈、队列、字符串等等。二、顺序表了解完线性表后就要进入我们今天的主题我们今天最主要学的的是线性表中的顺序表。概念和结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构一般情况下采用数组存储并在数组上完成数据的增删查改。其本质就是数组但与数组不同的是顺序表在其数组本质的基础上还要求数据连续存储不能跳跃或间隔存储。顺序表一般可分为两类静态顺序表使用一定长度的数组存储元素。但是静态顺序表存在很明显的缺陷即大小固定数据少了就会造成空间浪费数据多了空间不够导致不能存储。#define N 10 typedef int SLDataType; typedef struct SeqList {SLDataType arr[N];int size; }SeqList;动态顺序表使用动态开辟的数组存储元素。动态顺序表很好弥补了静态顺序表的弊端使空间申请变得灵活我们可根据情况进行扩容操作从而申请到合适大小的空间。typedef int SLDataType; typedef struct SeqList {SLDataType* aint size;inte capacity }SeqList;2、顺序表的实现现在开始我们开始实现顺序①初始化顺序表void SeqListInit(SeqList* ps) {assert(ps);//防止传入空指针ps-a malloc(sizeof(SLDateType) * INIT_CAPACITY);if (ps-a NULL){perror(malloc fail);}ps-size 0;ps-capacity INIT_CAPACITY;}②销毁顺序表void SeqListDestroy(SeqList* ps) {assert(ps);//防止传入空指针free(ps-a);ps-a NULL;ps-capacity ps-size0; }③顺序表尾插尾插即在最后一个元素下一个位置上插入元素也就是size的位置上插入之后总数据1也就是size。void SeqListPushBack(SeqList* ps, SLDateType x) {assert(ps);//检查是否需要扩容if (ps-size ps-capacity){SLDateType* tmp (SLDateType)realloc(ps-a, sizeof(SLDateType) * ps-capacity 5);if (tmp NULL){perror(realloc fail);return;}ps-a tmp;ps-capacity 5;}ps-a[ps-size] x; }④顺序表尾删尾删就是把最后一个元素删除所以size不能为0删除之后总数据减一size--。void SeqListPopBack(SeqList* ps) {assert(ps);assert(ps-size 0);ps-size--;}⑤顺序表头插头插也就是在第一个元素前面插入第一个元素因为我们使用数组实现的顺序表所以头插需要挪动元素。插入之后总数据1也就是size。void SeqListPushFront(SeqList* ps, SLDateType x) {assert(ps);if (ps-size ps-capacity){SLDateType* tmp (SLDateType)realloc(ps-a, sizeof(SLDateType) * ps-capacity 5);if (tmp NULL){perror(realloc fail);return;}ps-a tmp;ps-capacity 5;}for (int i ps-size; i 0; i--){ps-a[i] ps-a[i - 1];}ps-a[0] x;ps-size;}⑥顺序表的头删除与头插类似同样需要挪动元素只不过挪动方向变了头插是往后挪头删是往前挪删除之后总数据减一size--。void SeqListPopFront(SeqList* ps) {assert(ps);int count 1;for (count 1; count ps-size; count){ps-a[count - 1] ps-a[count];}ps-size--; }⑦打印顺序表void SeqListPrint(SeqList* ps) {if (ps-size 0){printf(顺序表为空);return;}for (int i 0; i ps-size; i){printf(%d , ps-a[i]);}printf(\n); }⑧顺序表中查找int SeqListFind(SeqList* ps, SLDateType x) {assert(ps);for (int i 0; i ps-size; i){if (ps-a[i] x){return i;}return -1;} }⑨在指定下标插入插入之后总数据1也就是size。void SeqListInsert(SeqList* ps, int pos, SLDateType x) {assert(ps);assert(pos 0 pos ps-size);if (ps-size ps-capacity){SLDateType* tmp (SLDateType)realloc(ps-a, sizeof(SLDateType) * ps-capacity 5);if (tmp NULL){perror(realloc fail);return;}ps-a tmp;ps-capacity 5;}for (int i ps-size; i pos;i--){ps-a[i] ps-a[i - 1];}ps-a[pos] x;ps-size; }⑩删除指定下标位置元素删除之后总数据减一size--。void SeqListErase(SeqList* ps, int pos) {assert(ps);assert(pos 0 pos ps-size);for (int i pos; i ps-size-1; i){ps-a[i] ps-a[i 1];}ps-size--;}总结顺序表相对来说比较简单很重要一点就是在执行操作时要思考是否要进行断言操作避免使用空指针。文章到此就结束啦。
http://www.eeditor.cn/news/120561/

相关文章:

  • 网站建设 部署与发布题库工业和信息化部网站备案管理系统
  • 网站备案中心wordpress 下载插件xydown
  • 高校档案网站建设的目的是什么意思杭州网站推广找哪家
  • 德清县建设银行官方网站美食类网站模板
  • apmserv 设置网站目录查询网站域名
  • php建站网站用自己的电脑做服务器吗
  • 企业网站建设的基本内容工信部网站备案查询验证码错误
  • 网站下载软件建设网站的功能地位
  • 南通的电商网站建设文字创意logo设计
  • 炫酷的动画网站网站优化防范
  • 网站源码是什么意思进入公众号看不到内容
  • 网站关键词怎么布局上海网络推广营销策划方案
  • 电子印章在线制作网站小程序开发需要什么
  • 酒店网站模板网站扁平化布局
  • 铭万做网站怎么样亚马逊图书官网
  • 化妆品网站模板深圳市出行政策最新
  • 网站开发设计哪家好钢板防护罩做网站
  • 怎样分析一个网站做的好坏什么网站做广告效果好
  • 企业网站建设管理系统常州手机网站开发
  • 图片网站模版管理咨询师考试
  • 旅游景区网站开发的政策可行性怎样切图做网站
  • 单页面网站现在个人网站名称备案
  • 房屋设计公司网站国际网站怎么样做
  • 洛阳青峰做网站wordpress自适应空白主题
  • 邢台做网站推广的公司互联网产品营销策划方案
  • 装修公司网站php源码写wordpress插件吗
  • 做个网页需要多少钱?官方网站优化方法
  • 电商网站建设求职定位搜狗推广找谁
  • 专业做美食视频的网站怎样设计网站首页
  • 服务号微网站怎么做哈尔滨百度网站建设