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

深圳外贸公司网站网站设计专业实验室建设

深圳外贸公司网站,网站设计专业实验室建设,php 建设网站,网址查询ip解析属于线性表旗下的一种,所以专门存储 one-to-one 关系的数据。 顺序表提供的具体实现方案是:将数据全部存储到一整块内存空间中,数据元素之间按照次序挨个存放。(类似数组) 顺序表中除了存储数据本身的值外&#xff0…

 属于线性表旗下的一种,所以专门存储 one-to-one 关系的数据。

顺序表提供的具体实现方案是:将数据全部存储到一整块内存空间中,数据元素之间按照次序挨个存放。(类似数组)

顺序表中除了存储数据本身的值外,而一般提供了以下数据:

  • 顺序表的最大存储容量:即顺序表最多可以存储的数据量
  • 顺序表的长度:目前顺序表中存储的数据个数
#include <stdio.h>
#include <stdlib.h>#define MAXSIZE 5 //对MAXSIZE进行宏定义,表示顺序表的最大容量/*结构体*/
typedef struct {int* head; //利用指针定义一个长度不确定的“数组”(动态数组)int length; //记录顺序表的长度int size; //记录顺序表的存储容量
}SeqList;
/*初始化*/
void init(SeqList* sl) 
{//构造一个空的顺序表,动态申请存储空间sl->head = (int*)malloc(MAXSIZE * sizeof(int)); //初始化head数组//如果申请失败,作出提示并直接退出程序if (!sl->head) //判断head数组是否完成初始化{printf("初始化失败\n");exit(0);}sl->length = 0;//空表的长度初始化为0sl->size = MAXSIZE;//空表的初始存储空间为MAXSIZE
}
/*判空*/
int empty(SeqList* sl)
{if (sl->length == 0)return 1;elsereturn 0;
}
/*长度*/
int length(SeqList* sl)
{return sl->length;
}
/*建立*/
int creat(SeqList* sl, int creat[], int extent) //顺序表,数组,长度
{if (extent > MAXSIZE){printf("空间不够\n");return 0;}for (int i = 0; i < extent; i++){sl->head[i] = creat[i];}sl->length = extent;return 1;
}
/*插入*/
int insert(SeqList* sl, int index, int value) //顺序表,索引,插入值
{if (sl->length == MAXSIZE){printf("上溢出错误\n");return 0;}if (index < 1 || index > sl->length + 1){printf("插入位置错误(从1开始)\n");return 0;}for (int i = sl->length; i >= index; i--){sl->head[i] = sl->head[i - 1];}sl->head[index - 1] = value;sl->length++;return 1;
}
/*删除*/
int delete(SeqList* sl, int index, int value) //顺序表,索引,删除值
{if (sl->length == 0){printf("发生下溢错误\n");return 0;}if (index > sl->length || index < 1){printf("删除位置错误\n");return 0;}value = sl->head[index - 1]; //把要删除的数据返回for (int i = index; i <= sl->length; i++){sl->head[i - 1] = sl->head[i];}sl->length--;return 1;
}
/*修改*/
int set(SeqList* sl, int index, int value)
{if (index < 1 || index > sl->length){printf("修改位置错误\n");return 0;}sl->head[index-1] = value;return 1;
}
/*位查找*/
int get(SeqList* sl, int index, int* result)
{if (index < 1 || index > sl->length){printf("查找位置错误\n");return 0;}else{*result = sl->head[index - 1];return 1;}
}
/*值查找(查出返回索引值)*/
int locate(SeqList* sl, int value) 
{for (int i = 0; i < sl->length; i++){if (sl->head[i] == value){return i + 1;}}return 0;
}
/*输出*/
void display(SeqList* sl)
{for (int i = 0; i < sl->length; i++) {printf("%d", sl->head[i]);//if (i == sl->length - 1){printf("%d", sl->head[i]);}//else{printf("%d,", sl->head[i]);}}printf("\n");
}
/*主函数*/
int main() {int value = 0;SeqList sl = { NULL, 0, 0 }; //属性初始化int data[] = { 1,2,3,4 }; //数据init(&sl); //初始化if (empty(&sl)){printf("目前顺序表为空,长度为:%d\n", length(&sl));}creat(&sl, data, 4); //建立printf("顺序表建立:");display(&sl); //测试建立(第一次输出)insert(&sl, 1, 0); //插入printf("顺序表中存储的元素分别是:\n"); //提示display(&sl); //测试插入delete(&sl, 1, value); //删除display(&sl); //测试删除set(&sl, 4, 0); //修改display(&sl); //测试修改int index = 1, sult = 0; //临时值sultget(&sl, index, &sult); //位查找printf("%d 索引值的位查找的数据值是:%d\n", index, sult); //输出位查找的值printf("%d 数据值的值查找的索引值是:%d\n", 0, locate(&sl, 0)); //输出值查找的值printf("尾插入:\n");insert(&sl, 5, 5); //尾插入display(&sl); //测试尾插入free(sl.head);//释放申请的堆内存system("pause"); //暂停黑窗口return 0;
}

顺序表和数组的关系及区别

顺序表 VS 数组
顺序表(存储结构)数组(数据类型)
区别顺序表侧重表达了数据之间保持了 “一对一” 的逻辑关系数组是顺序表在实际编程中的一种实现方式
相同数据存储在一整块内存空间中,数据元素之间紧挨着存放

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

相关文章:

  • 全屏自适应网站模板太原网站搜索排名
  • 上海网站空间服务器开发公司起名大全
  • 杭州的电商网站建设建什么样的网站好
  • 德阳 网站建设百度云搜索引擎
  • 长春网站选网诚传媒wordpress没有账号
  • 搬瓦工 做网站网站建设工作情况报告
  • wordpress站点添加skype国内响应式布局网站
  • 做兼职女的网站滕州市住房城乡建设局网站
  • 手机网站制作时应该注意的问题云主机可以放多少网站
  • 徐州网站网站建设电子商务网站建设携程
  • 红桥网站建设仿站酷网站模板
  • 一站式做网站开发石家庄手机网站建设
  • 锦州企业网站建设网站建行接口
  • 免费网页代理ip地址网站wordpress 相同文章
  • 金本网站建设设计企业园林设计网站模板
  • 大连手机自适应网站建设超级折扣2WordPress
  • 深圳cms建站模板手机网站设计规格
  • 天水营销型网站建设济南集团网站建设价格
  • 大学学科建设网站外贸网站搭建公司
  • 网站项目需求搜索引擎推广培训
  • 广州有哪些建站公司专业做邯郸网站优化
  • 接设计网站wordpress子菜单位置
  • 温州网站建设设计广州网站建设网站优化网站推广
  • 什么是可信网站认证网站域名地址是什么
  • 如何推广网站专业商城网站设计
  • 织梦源码哪个网站好自助建站哪个好
  • 最权威的做网站优化价格企业文化理念
  • 平泉网站建设server 2008 iis部署网站
  • 网站设计与制作是做什么工作建设银行陕西分行网站
  • 知名品牌营销案例100例seo技术培训沈阳