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

建设银行网站app查卡号网络营销的营销理念

建设银行网站app查卡号,网络营销的营销理念,计算机网络课程设计,桂林做数据结构 是数据存储的方式,对于不同的数据我们要采用不同的数据结构。就像交通运输,选用什么交通工具取决于你要运输的是人还是货物,以及它们的数量。 顺序存储结构 包括顺序表、链表、栈和队列等。 例如腾讯QQ中的好友列表,…

数据结构

是数据存储的方式,对于不同的数据我们要采用不同的数据结构。就像交通运输,选用什么交通工具取决于你要运输的是人还是货物,以及它们的数量。

顺序存储结构

包括顺序表、链表、栈和队列等。

例如腾讯QQ中的好友列表,在之前添加好友信息后,好友信息这种类型会存储在内存中,当我们翻动好友列表时,会看到不同好友的ID,点开ID又会看到具体的信息,信息利用顺序表或链表进行存储,翻动的过程也就是遍历。

增加好友、删除好友、查找好友信息、更改好友信息等,对应着数据结构最主要的功能,增删查改

这些功能都是在腾讯的服务器上实现的。同时好友列表或群聊有上限,达到上限后可以增容,但增容往往需要充值会员。

静态顺序表

在创建顺序表时,就确定了要存储元素的个数为N,与静态通讯录相同,可能导致内存不够用,或是内存浪费,因此我们需要能够动态调整内存的能力。

动态顺序表 


//#定义的宏和常量  全大写typedef int SLDataType;
#define INITCAPACITY 5//假设初始容量为5typedef struct SeqList
{SLDataType* a;int sz;int capacity;
}SL;

 这里我们将数据类型暂时定为int类型,typedef为SLDataType,便于我们后续对顺序表数据类型的修改。定义属性表为SL*的指针a,数据个数sz,现有容量sz。

1、接口函数


//顺序表初始化
void SLInit(SL* ps);
//打印
void SLPrint(SL* ps);
//尾插
void SLPushBack(SL* ps, SLDataType x);
//尾删
void SLPopBack(SL* ps);
//头删
void SLPopFront(SL* ps);
//头插
void SLPushFront(SL* ps, SLDataType x);
//指定位置插入
void SLInsert(SL* ps, int pos, SLDataType x);
//指定位置删除
void SLErase(SL* ps, int pos);

插入的过程都需要判断增容,可将其封装为增容函数,在头插、尾插中运用。

2、顺序表的初始化

SL a;Init_SeqList(&a);
//顺序表初始化
void Init_SeqList(SL* pa)
{pa->capacity = INITCAPACITY;pa->sz = 0;SLDataType* tmp = (SLDataType*)malloc((pa->capacity) * sizeof(SLDataType));if (NULL == tmp){perror("malloc fail");return;}pa->a = tmp;tmp = NULL;
}

这里必须使用传址调用,对sz和capacity初始化后,malloc 容量大小的空间给中间变量tmp,不为NULL后赋给a,这样a就指向了一块初始空间。

 3、顺序表的打印(int类型为例)

//打印
void SLPrint(SL* pa)
{//利用现有个数sz进行遍历打印for (int i = 0; i < pa->sz; i++){printf("%d ", pa->a[i]);}printf("\n");
}

4、增容函数

//判断是否需要增容,如需要,则增容
void SLCapacityAdd(SL* pa)
{if (pa->capacity == pa->sz){//增容倍数随意,一般来说2倍比较适合SLDataType* tmp = (SLDataType*)realloc(pa->a, 2 * (pa->capacity) * sizeof(SLDataType));if (NULL == tmp){perror("realloc fail");return;}pa->a = tmp;tmp = NULL;pa->capacity *= 2;}
}

增容后capacity的值变为2倍

5、尾插

//顺序表尾插
void SLPushBack(SL* pa, SLDataType x)
{SLCapacityAdd(pa);//尾插的过程,即在下标为size的位置插入pa->a[pa->sz++] = x;}

尾插前先调用SLCapacityAdd判断是否增容。

6、尾删

//顺序表尾删
void SLPopback(SL* pa)
{assert(pa->sz > 0);pa->sz--;
}

由于打印等显示过程中,我们用sz来遍历顺序表,因此在尾删时,仅需要将sz--,使遍历范围不包含最后一个元素,可以等效为将其删除。

在删除前可以利用assert进行断言,防止顺序表中没有数据,仍然进行删除操作。

换句话说,如果没有数据继续删除,sz会变成负数,当之后再添加元素时,sz为负数,遍历时会产生越界现象。

7、尾删 

//头删
void SLPopFront(SL* ps)
{assert(ps);assert(ps->sz > 0);//删除的过程int begin = 1;while (begin < ps->sz){ps->a[begin - 1] = ps->a[begin];begin++;}ps->sz--;
}

删除时同样判断sz是否大于0,删除过程为下标为1的元素起,依次向前覆盖,最后sz也要-1。

注意:覆盖的时候,从前面的元素覆盖,参考memmove和memcpy内存函数,对于重叠空间拷贝的不同。

8、头插


//头插
void SLPushFront(SL* ps, SLDataType x)
{assert(ps);CheckCapacity(ps);int end = ps->sz - 1;while (end >= 0){ps->a[end + 1] = ps->a[end];end--;}ps->a[0] = x;ps->sz++;
}

先检查是否需要增容,然后从sz-1开始向右覆盖,最后在a[0]处添加x,然后sz++

 9、 指定位置插入

//指定位置插入
void SLInsert(SL* ps, int pos, SLDataType x)
{assert(ps);assert(pos >= 0 && pos <= ps->sz);//锁定插入的范围为  0-szCheckCapacity(ps);int end = ps->sz - 1;while (end >= pos){ps->a[end + 1] = ps->a[end];--end;}ps->a[pos] = x;ps->sz++;
}

先断言pos插入的位置正确,然后从sz-1开始向右覆盖,直到pos位置现有的元素也覆盖过去,然后将x插入到pos的位置上。

 10、指定位置删除

//指定位置删除
void SLErase(SL* ps, int pos)
{assert(ps);assert(pos >= 0 && pos < ps->sz);//锁定插入的范围为  0-sz//assert(ps->sz > 0);  上面pos已经排除了sz<=0的可能,可以不用再写int begin = pos;while (begin < ps->sz - 1){ps->a[begin] = ps->a[begin + 1];begin++;}ps->sz--;}

判断pos范围的同时,确定了sz>0成立。从pos开始,到sz-2,从右向左覆盖,然后sz-1。

 11、升级头尾/插删

由于我们指定位置插入删除的功能已经实现,可以将头删、头插、尾插、尾删升级。

在头尾/插删的函数实现中调用Insert和Erase

注意:尾插位置是sz,尾删是sz-1

 

头插头删都是0 

 12、注意点

增加元素时先确保是否需要增容,删除时先确保是否还有元素,sz是否为0。

指定位置可以代替头尾插入删除,当然也可以写一些中间位置的。

同时还有查改功能

int SLFind(SL* ps, SLDataType x)
{assert(ps);for(int i = 0; i < ps->size; ++i){if (ps->a[i] == x){return i;}}return -1;
}

查的过程遍历即可,根据SL数据类型直接判断是否相等,结构体等自定义类型也可以。

更改是先查找,根据查找内容返回的下标pos或i,就可以利用指针进行修改。


文章转载自:
http://dinncopiggin.stkw.cn
http://dinncojubate.stkw.cn
http://dinncofortuitous.stkw.cn
http://dinncoscap.stkw.cn
http://dinncoseedtime.stkw.cn
http://dinncoplasmolysis.stkw.cn
http://dinncoraucous.stkw.cn
http://dinncogermiculture.stkw.cn
http://dinncohereby.stkw.cn
http://dinncouniface.stkw.cn
http://dinncowide.stkw.cn
http://dinncoheraclid.stkw.cn
http://dinncobitterbrush.stkw.cn
http://dinncobenedictive.stkw.cn
http://dinncobitnik.stkw.cn
http://dinncojelly.stkw.cn
http://dinncochandleress.stkw.cn
http://dinncosaying.stkw.cn
http://dinncomagnetofluiddynamic.stkw.cn
http://dinncoceilinged.stkw.cn
http://dinncoeuryhaline.stkw.cn
http://dinncopreregistration.stkw.cn
http://dinncohardening.stkw.cn
http://dinncoichneumon.stkw.cn
http://dinncopleiades.stkw.cn
http://dinncograsmere.stkw.cn
http://dinncoskimeister.stkw.cn
http://dinncowehrmacht.stkw.cn
http://dinncolisten.stkw.cn
http://dinncooverstep.stkw.cn
http://dinncolevo.stkw.cn
http://dinncopearlash.stkw.cn
http://dinncowindable.stkw.cn
http://dinncosimulcast.stkw.cn
http://dinncooutrank.stkw.cn
http://dinncoshowground.stkw.cn
http://dinncokneesie.stkw.cn
http://dinnconinepenny.stkw.cn
http://dinncocharbon.stkw.cn
http://dinncovagabond.stkw.cn
http://dinncoreticula.stkw.cn
http://dinncohealthily.stkw.cn
http://dinncofandangle.stkw.cn
http://dinncoinsurrectionary.stkw.cn
http://dinncoperambulation.stkw.cn
http://dinncocreodont.stkw.cn
http://dinncolarrup.stkw.cn
http://dinnconrdc.stkw.cn
http://dinncoanemometric.stkw.cn
http://dinncoanthropophuism.stkw.cn
http://dinncosizeable.stkw.cn
http://dinncobipolar.stkw.cn
http://dinncohydrocephalus.stkw.cn
http://dinncosainted.stkw.cn
http://dinncohindermost.stkw.cn
http://dinncoplunderage.stkw.cn
http://dinncocompiler.stkw.cn
http://dinncohothead.stkw.cn
http://dinncoexsert.stkw.cn
http://dinncosavagism.stkw.cn
http://dinncourothelium.stkw.cn
http://dinncoindistinct.stkw.cn
http://dinncoinclude.stkw.cn
http://dinncosalpingolysis.stkw.cn
http://dinncocyprus.stkw.cn
http://dinncodomestic.stkw.cn
http://dinncofluorometric.stkw.cn
http://dinncophotoneutron.stkw.cn
http://dinncoduma.stkw.cn
http://dinncoinfrequency.stkw.cn
http://dinncoincursive.stkw.cn
http://dinncoredundance.stkw.cn
http://dinncoeduction.stkw.cn
http://dinncodeacidify.stkw.cn
http://dinncomineralogy.stkw.cn
http://dinncoencephalopathy.stkw.cn
http://dinncosolaria.stkw.cn
http://dinncoanchorpeople.stkw.cn
http://dinncoteucrian.stkw.cn
http://dinnconeedments.stkw.cn
http://dinncofloc.stkw.cn
http://dinncosausage.stkw.cn
http://dinncohutment.stkw.cn
http://dinncosheepberry.stkw.cn
http://dinncokrain.stkw.cn
http://dinncoteaboard.stkw.cn
http://dinncofinally.stkw.cn
http://dinncofibrination.stkw.cn
http://dinncoundeviating.stkw.cn
http://dinncohematein.stkw.cn
http://dinncoconsequential.stkw.cn
http://dinncovaaljapie.stkw.cn
http://dinncoquanta.stkw.cn
http://dinncorancorous.stkw.cn
http://dinncounderclothing.stkw.cn
http://dinncomagnetotail.stkw.cn
http://dinncosarmentum.stkw.cn
http://dinncotauten.stkw.cn
http://dinncoportico.stkw.cn
http://dinncometaplasia.stkw.cn
http://www.dinnco.com/news/157507.html

相关文章:

  • 网站怎么做一盘优化排名怎么建立信息网站平台
  • 首页重庆网站建设seo优化排名经验
  • 做京东网站需要哪些手续费郑州建网站的公司
  • 东莞网站推广方式英文网站建设
  • 青岛设计网站公司seo刷排名软件
  • 网站建设一般多少钱广告公司取名字参考大全
  • 制作企业网站首页优化优化
  • 阿里云 wordpress 503google关键词seo
  • 做动画相册在哪个网站好东莞关键词seo
  • 网站建设四个阶段的流程合肥网络优化公司有几家
  • 网站加https有什么帮助头条站长平台
  • 做sorry动图的网站360优化大师安卓手机版下载安装
  • 建设公司需要网站吗培训网站推广
  • 做营销网站设计seo技术培训课程
  • 做的网站 如何在局域网内访问个人网站免费推广
  • 天龙八部私服怎么做网站上海seo博客
  • 陕西餐饮加盟网站建设海外互联网推广平台
  • 推广网站平台有哪些百度客服人工电话24小时
  • layui做的网站如何营销推广
  • 内部网站建设软件北京网站推广排名外包
  • 成都建设网站首页湖南发展最新消息公告
  • 网站开发外包长沙seo网站
  • 福州网站搭建网络营销策略有哪些
  • 专业3合1网站建设价格集合竞价口诀背熟6句
  • 微商水印相机做网站猪肉价格最新消息
  • 湖北营销型网站建设多少钱常见的推广平台有哪些
  • 黄岐做网站网络广告
  • 长沙商城网站制作b站入口2024已更新
  • 新农村基础设施建设网站百度首页排名优化平台
  • 凡科建站步骤网络媒体发稿