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

关于网站建设的题目浅谈全球五金网电子商务网站建设

关于网站建设的题目,浅谈全球五金网电子商务网站建设,网站内容建设整改工作,安徽宿州住房与建设网站前言#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.hkea.cn/news/14492792/

相关文章:

  • 一家专门做原产地的网站网站开发预算
  • 智能建站模板中兴的网站谁做的
  • 怀安县建设局网站如何用iis部署网站
  • 宁波网站制作服务推广竞价的公司有哪些
  • 如何提高 网站的点击量中小企业公司
  • cms企业网站系统wordpress优质插件
  • 郑州关键词网站优化排名wordpress link rel
  • photoshop 做网站中国建设监理协会网站继续教育
  • 网站建设 资质要求怎么做ps4的视频网站
  • 新开传奇网站195合击广州网站开发学校
  • 丰台区的建设网站wordpress代码审计如何进行
  • 网站优化是往新闻中心发新闻吗网站标题和描述优化
  • 厦门企业制作网站asp网站开发基础
  • 销售型网站建设基本要素单位网站建设情况汇报
  • 浙江英文网站建设个人公益网站怎么制作
  • 泉州专业网站建设费用wordpress 红色模版
  • 泸州工投建设集团有限公司网站创意视觉网站
  • 企业网站建设中的常见问题基于网站开发的app
  • 毕业设计做网站难吗建设企业网银u盾网站打不开
  • 宿迁专业三合一网站开发吴江住房建设局网站
  • 徐州网站建设报价潜水艇官方网站代理
  • 怎样建设一个公司网站网站开发 周期
  • 凡科企业网站如何建设wordpress新用户默认
  • 企业网站系统cms合肥网站建设市场
  • 网站广告做的好的企业案例分析东莞学网站建设难吗
  • 做vr网站wordpress问题解决
  • 网站首页 如何设置wordpress百度网盘插件
  • 奉贤网站建设专家淄博 网站制作
  • 高大上设计网站欣赏新闻发布会活动方案
  • 如何搭建免费网站宁波奉化建设局网站