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

网站建设页面要求Wordpress 自用主题 免费 分享

网站建设页面要求,Wordpress 自用主题 免费 分享,上海官网建设,织梦制作手机网站模板线性表 由 n(n>0) 个数据特性相同的元素构成的有限序列,称为线性表。 顺序表 用一组连续的内存单元依次存储线性表的各个元素,也就是说,逻辑上相邻的元素,实际的物理存储空间也是连续的。 直接写数组存储 类型定义 #defi…

线性表

由 n(n>=0) 个数据特性相同的元素构成的有限序列,称为线性表。

顺序表

用一组连续的内存单元依次存储线性表的各个元素,也就是说,逻辑上相邻的元素,实际的物理存储空间也是连续的。

直接写数组存储

类型定义

#define MAXSIZE 100
typedef int ElemType;//给数据类型起别名typedef struct {ElemType data[MAXSIZE];//直接开数组表示顺序表int length;
}SeqList;

初始化

void initList(SeqList* L)
{L->length = 0;
}

尾插法即在尾部添加元素

  1. data[i]处的值为e
  2. length++
int appendElem(SeqList*L , ElemType e)
{if (L->length >= MAXSIZE){printf("顺序表已满\n");return 0;}L->data[L->length] = e;L->length++;return 1;
}

遍历

写一个遍历数组的循环,输出语句写为输出i地址对应的值

void listElem(SeqList *L)
{for (int i = 0; i < L->length; i++){printf("%d ",L->data[i]);//输出L上i位置对应的值}printf("\n");
}

插入元素

  1. 判断是否能插入(是否满, 是否插入在顺序表前(顺序表外)) 判断根据需求来, 可以增加程序的鲁棒性
  2. 遍历使原来 该位置 以及 该位置之后 的元素后移
  3. 令 该位置的值 为插入值
  4. length++
int insertElem(SeqList*L, int pos, ElemType e)
{/*if (L->length >=  MAXSIZE){printf("表已经满了\n");return 0;}if (pos < 1 || pos > L->length){printf("插入位置错误\n");return 0;}*/if (pos <= L->length){//pos-1 是因为说要插在第五个元素位置时, 实际上插在下标为4的位置上for (int i = L->length - 1; i >= pos - 1; i--){L->data[i + 1] = L->data[i];}L->data[pos - 1] = e;L->length++;}return 1;
}

删除元素

  1. 如果删除的不是最后一位元素,将该位之后的所有元素依次前移, 覆盖该元素的值
  2. length--
int deleteElem(SeqList* L, int pos, ElemType* e)
{//第一行是将 要删除的值保存在第三个参数中, 如果有需要可以打印被删除的值*e = L->data[pos - 1];//若不需要保存可以删去本行和上面的第三个参数,两个参数即可if (pos < L->length){for (int i = pos; i < L->length; i++){L->data[i - 1] = L->data[i];}}L->length--;return 1;
}

查找元素

遍历顺序表, 如果找到则返回该元素位置(下标+1), 找不到则返回0

int findElem(SeqList*L, ElemType e)
{for (int i = 0; i < L->length; i++){if (L->data[i] == e){return i + 1;}}return 0;
}

以上声明和函数对应的main函数

int main(int argc, char const* argv[])
{//声明一个线性表并初始化//SeqList list;//initList(&list);printf("初始化成功,目前长度占用 %d\n",list.length);printf("目前占用内存 %zu字节\n", sizeof(list.data));appendElem(&list, 88);appendElem(&list, 45);appendElem(&list, 43);appendElem(&list, 17);listElem(&list);//遍历//插入元素//insertElem(&list, 2, 18);//listElem(&list);//遍历//删除元素//ElemType delData;//deleteElem(&list, 2, &delData);//printf("被删除的数据为:%d\n", delData);//listElem(&list);//查找元素printf("%d\n", findElem(&list,43));return 0;
}

动态分配内存地址初始化

new的底层代码?

以上函数完全不用修改,只是修改初始化

main函数中 & 删除, .改为->

//动态分配内存实现
typedef struct {ElemType* data;int length;
}SeqList;
SeqList* initList()
{SeqList *L= (SeqList*)malloc(sizeof(SeqList));L->data = (ElemType*)malloc(sizeof(ElemType) * MAXSIZE);L->length = 0;return L;
}

故新的main函数:

int main(int argc, char const* argv[])
{//动态分配内存SeqList* list = initList();printf("初始化成功,目前长度占用 %d\n",list->length);printf("目前占用内存 %zu字节\n", sizeof(list->data));appendElem(list, 88);appendElem(list, 45);appendElem(list, 43);appendElem(list, 17);listElem(list);//遍历//插入元素//insertElem(list, 2, 18);//listElem(list);//遍历//删除元素//ElemType delData;//deleteElem(list, 2, delData);//printf("被删除的数据为:%d\n", delData);//listElem(list);printf("%d\n", findElem(list,43));return 0;
}

全部代码

#include<iostream>
using namespace std;#define MAXSIZE 100
typedef int ElemType;//给数据类型起别名//非动态分配内存实现
//typedef struct {
//	ElemType data[MAXSIZE];//直接开数组表示顺序表
//	int length;
//}SeqList;
//
//void initList(SeqList* L)
//{
//	L->length = 0;
//}//动态分配内存实现
typedef struct {ElemType* data;int length;
}SeqList;
SeqList* initList()
{SeqList *L= (SeqList*)malloc(sizeof(SeqList));L->data = (ElemType*)malloc(sizeof(ElemType) * MAXSIZE);L->length = 0;return L;
}//尾插
int appendElem(SeqList*L , ElemType e)
{if (L->length >= MAXSIZE){printf("顺序表已满\n");return 0;}L->data[L->length] = e;L->length++;return 1;
}void listElem(SeqList *L)
{for (int i = 0; i < L->length; i++){printf("%d ",L->data[i]);}printf("\n");
}int insertElem(SeqList*L, int pos, ElemType e)
{if (L->length >=  MAXSIZE){printf("表已经满了\n");return 0;}if (pos < 1 || pos > L->length){printf("插入位置错误\n");return 0;}if (pos <= L->length){for (int i = L->length - 1; i >= pos - 1; i--)//pos-1 是因为说要插在第五个元素位置时, 实际上插在下标为4的位置上{L->data[i + 1] = L->data[i];}L->data[pos - 1] = e;L->length++;}return 1;
}int deleteElem(SeqList* L, int pos, ElemType* e)
{*e = L->data[pos - 1];if (pos < L->length){for (int i = pos; i < L->length; i++){L->data[i - 1] = L->data[i];}}L->length--;return 1;
}int findElem(SeqList*L, ElemType e)
{if (L->length == 0){printf("空链表\n");return 0;}for (int i = 0; i < L->length; i++){if (L->data[i] == e){return i + 1;}}return 0;
}int main(int argc, char const* argv[])
{//声明一个线性表并初始化//SeqList list;//initList(&list);//动态分配内存SeqList* list = initList();printf("初始化成功,目前长度占用 %d\n",list->length);printf("目前占用内存 %zu字节\n", sizeof(list->data));appendElem(list, 88);appendElem(list, 45);appendElem(list, 43);appendElem(list, 17);listElem(list);//遍历//插入元素//insertElem(list, 2, 18);//listElem(list);//遍历//删除元素//ElemType delData;//deleteElem(list, 2, delData);//printf("被删除的数据为:%d\n", delData);//listElem(list);printf("%d\n", findElem(list,43));return 0;
}

文章转载自:

http://UKdmMtZD.xxsrm.cn
http://5Zd5MNb6.xxsrm.cn
http://O1UA5Qs3.xxsrm.cn
http://fVYMR2q3.xxsrm.cn
http://sAUzNORw.xxsrm.cn
http://R6ouUrvt.xxsrm.cn
http://YxjMaj0R.xxsrm.cn
http://O51g6o4B.xxsrm.cn
http://x5rVfYYr.xxsrm.cn
http://FtSsowhu.xxsrm.cn
http://dqYg3Yrz.xxsrm.cn
http://UcSjcZzB.xxsrm.cn
http://XXPzKufr.xxsrm.cn
http://DReQJa0D.xxsrm.cn
http://KvNj7pfk.xxsrm.cn
http://Jv2KFsf6.xxsrm.cn
http://DPVluNtY.xxsrm.cn
http://rtwJ2O1b.xxsrm.cn
http://0Q688Dp6.xxsrm.cn
http://WaF1vlYz.xxsrm.cn
http://33rl31io.xxsrm.cn
http://MVZQlInO.xxsrm.cn
http://xSRhQbwe.xxsrm.cn
http://3EQyjadv.xxsrm.cn
http://EEkhXdAv.xxsrm.cn
http://H2Kn46dW.xxsrm.cn
http://g40ZacUZ.xxsrm.cn
http://s2pYTS7I.xxsrm.cn
http://qBnb2Vbp.xxsrm.cn
http://HuFzUyDO.xxsrm.cn
http://www.dtcms.com/wzjs/662008.html

相关文章:

  • 网站制作 苏州公司注册有限公司
  • 泸溪县建设局网站北京 顺义 网站制作
  • 企业做网站的注意什么做网站时遇到的问题
  • MAC怎么做网站网站域名和空间
  • 70 网站制作建设工程教育网建设工程类的考试辅导网站
  • 网站建设企业站10岁一12岁的创意手工
  • 小说网站开发需求分析新康家园网站建设
  • 内网建站工具企业网站优化排名方案
  • 网站后台公告id修改网站推广方案有哪些
  • mcmore商城网站开发做视频网站为什么费钱
  • 网站网页模板上海新闻频道
  • 互联网站备案信息查询公司网站邮箱费用
  • 不用代码可以做网站设计吗小说网站制作模板
  • 爬取数据做网站广州越秀区初中排名
  • 开发一个网站需要多少时间物流网络图
  • 南宁网站制作哪家好做网站之前要先购买服务器吗
  • 免费行情软件app网站大全深圳策划公司排行榜前十名
  • 国外 网站 源码网站域名跟谁买
  • 长春网站建设选择星宿科技合肥网达软件有限公司
  • php网站开发业务昆明网站建设方案优化
  • 徐州制作网站软件免费logo设计在线生成器官网
  • 电子商务网站建设实用教程教案睢宁网站建设xzqjwl
  • 滨江网站制作永久不收费的软件app
  • 大同网站开发中国网络营销网站
  • 网站开发工程师好不好做安卓icon图标包下载网站
  • WordPress自学建网站seo技术培训教程视频
  • 自己本地可以做网站服务器吗北京网络推广公司
  • 嘉定装饰装修网站如何登录网站服务器
  • 房地产网站建设公司30天网站建设
  • 百度网站建设要多少钱网站建设是怎么赚钱的