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

新广告法 做网站的宁德市房价

新广告法 做网站的,宁德市房价,衡水专业做wap网站,纪念馆网站建设方案数据结构: 1. 定义: 一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据) 1. 程序设计: 将现实中大量而复杂的问题以特定的数据类型和特定的数据结构存储在内存中,并在此基础上实现某个特定的功…

数据结构:

1. 定义:

    一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)

    1. 程序设计:

        将现实中大量而复杂的问题以特定的数据类型和特定的数据结构存储在内存中,并在此基础上实现某个特定的功能的操作(程序 = 数据结构 + 算法)

        高内聚:一个功能模块只干一件事

        低耦合:功能模块与功能模块之间的耦合度要低

        可读性:程序需要添加注释

        健壮性:程序在运行过程中不能产生异常

    2. MVC软件设计架构:

        M:mode,数据的管理(数据结构)

        V:view,视图,数据的反映及人机交互

        C:ctrl,逻辑控制

2. 数据与数据之间的关系

    1. 数据的逻辑结构:数据元素与元素之间的关系

        集合:关系平等

        线性结构:元素之间一对一的关系(表(数组、链表)),队列,栈)

        树形结构:元素之间一对多的关系(二叉树)

        图形结构:元素之间多对多的关系(网状结构)

    2. 数据的物理结构:数据的逻辑结构在计算机内存中的存储形式

        1. 顺序存储:

            采用一段连续的内存空间保存元素

            优点:数据访问方便

            缺点:1. 数据插入删除需要移动大量的元素

                       2. 需要预分配内存空间

                       3. 容易造成存储空间碎片

        2. 链式存储:

            采用一种非连续的内存空间保存元素

            优点:1. 插入删除数据效率高

                       2. 不需要预分频内存

            缺点:访问元素必须遍历,效率低

        3. 索引存储:

            通过关键字构建索引表,通过索引表来找到数据的存储位置

        4. 散列存储(哈希存储):

            将数据元素的存储位置与关键码之间建立确定对应关系从而实现查找的存储方式

             索引存储和散列存储都是为了提高数据的查找速度

单向链表:

    1. 有头链表:

        第一个链表节点中不存储有效数据

嵌入式学习第十五天!(内存管理、链表)-CSDN博客

    2. 无头链表:

        第一个链表结点中存储有效数据

        1. 定义无头链表的句柄和结点:

#ifndef _LINK_H_
#define _LINK_H_typedef int DATA_TYPE;typedef struct node
{DATA_TYPE data;struct node *pnext;}LINK_NODE;typedef struct list
{LINK_NODE *phead;int curlen;}LINK_LIST;#endif

            说明其中struct node还未定义的时候就用struct node *定义pnext:因为不管是char *还是int *等还是struct node *都是指针类型,它都占8个字节,但是如果不加*,那么系统就不知道结构体构建的内存空间的大小,所以就会报错。

        2. 创建无头链表:

LINK_LIST *Create_Link(void)
{LINK_LIST *plist = malloc(sizeof(LINK_LIST));if(plist == NULL){return NULL;}plist->phead = NULL;plist->curlen = 0;return plist;
}

        3. 头插法:

int Push_Head_Link(LINK_LIST *plist, DATA_TYPE data)
{LINK_NODE *pnode = malloc(sizeof(LINK_NODE));if(pnode == NULL){return -1;}pnode->data = data;pnode->pnext = NULL;pnode->pnext = plist->phead;plist->phead = pnode;plist->curlen++;return 0;
}

        4. 尾插法:

int Push_Tail_Link(LINK_LIST *plist, DATA_TYPE data)
{LINK_NODE *pnode = malloc((sizeof(LINK_NODE)));if(pnode == NULL){return -1;}pnode->data = data;pnode->pnext = NULL;LINK_NODE *ptmp = plist->phead;if(ptmp == NULL){ptmp = pnode;}else{while(ptmp->pnext != NULL){ptmp = ptmp->pnext;}ptmp->pnext = pnode;}plist->curlen++;return 0;
}

        5. 遍历:

int list_for_each(LINK_LIST *plist)
{LINK_NODE *ptmp = plist->phead;while(ptmp != NULL){printf("%d ", ptmp->data);ptmp = ptmp->pnext;}printf("\n");return 0;
}

        6. 尾删法:

int Pop_Tail_Link(LINK_LIST *plist)
{LINK_NODE *ptmp = plist->phead;if(ptmp == NULL){return 0;}else if(ptmp->pnext == NULL){free(ptmp);plist->phead = NULL;}else{while(ptmp->pnext->pnext == NULL){ptmp = ptmp->pnext;}free(ptmp->pnext);ptmp->pnext = NULL;}plist->curlen--;return 0;
}

        7. 头删法:

int Pop_Head_Link(LINK_LIST *plist)
{LINK_NODE *ptmp = plist->phead;if(ptmp == NULL){return 0;}else if(ptmp->pnext == NULL){free(ptmp);plist->phead = NULL;}else{plist->phead = plist->phead->pnext;free(ptmp);}plist->curlen--;return 0;
}

        8. 查找:

LINK_NODE *Find_Link_Node(LINK_LIST *plist, DATA_TYPE data)
{LINK_NODE *ptmp = plist->phead;while(ptmp != NULL){if(ptmp->data == data){return ptmp;}ptmp = ptmp->pnext;}return NULL;
}

        9. 修改:

int Replace_link_data(LINK_LIST *plist, DATA_TYPE olddata, DATA_TYPE newdata)
{LINK_NODE *ptmp = plist->phead;while(ptmp != NULL){if(ptmp->data = olddata){ptmp->data = newdata;}ptmp = ptmp->pnext;}return 0;
}

        10. 销毁:

int Destroy_Link(LINK_LIST *plist)
{LINK_NODE *ptmp = plist->phead;LINK_NODE *pfree = plist->phead;while(ptmp != NULL){ptmp = ptmp->pnext;free(pfree);pfree = ptmp;}free(plist);return 0;
}

            在链表用完以后需要销毁,是为了防止内存泄露(内存空间完全被占用,没有内存可以分配),可以利用valgrind判断是否发生内存泄露。

sudo apt-get install valgrind
valgrind ./a.out

            malloc7次,释放7次,所以并没有发生内存泄露


文章转载自:
http://nutation.bpcf.cn
http://fastigium.bpcf.cn
http://metascope.bpcf.cn
http://ionogen.bpcf.cn
http://amidol.bpcf.cn
http://orchestrina.bpcf.cn
http://luoyang.bpcf.cn
http://panathenaea.bpcf.cn
http://singleton.bpcf.cn
http://pyromancy.bpcf.cn
http://guangdong.bpcf.cn
http://megalecithal.bpcf.cn
http://paceway.bpcf.cn
http://frosted.bpcf.cn
http://labyrinth.bpcf.cn
http://waiter.bpcf.cn
http://demonism.bpcf.cn
http://spec.bpcf.cn
http://sarre.bpcf.cn
http://alcyonarian.bpcf.cn
http://ulmaceous.bpcf.cn
http://phocine.bpcf.cn
http://frat.bpcf.cn
http://feedway.bpcf.cn
http://disuse.bpcf.cn
http://streptonigrin.bpcf.cn
http://monteith.bpcf.cn
http://curitiba.bpcf.cn
http://bri.bpcf.cn
http://desperation.bpcf.cn
http://hour.bpcf.cn
http://limitless.bpcf.cn
http://whangarei.bpcf.cn
http://shodden.bpcf.cn
http://newel.bpcf.cn
http://thinkpad.bpcf.cn
http://gamza.bpcf.cn
http://nazarene.bpcf.cn
http://whittret.bpcf.cn
http://tentmaker.bpcf.cn
http://evangelization.bpcf.cn
http://connectionless.bpcf.cn
http://unaneled.bpcf.cn
http://treatise.bpcf.cn
http://vinosity.bpcf.cn
http://solutrean.bpcf.cn
http://wreck.bpcf.cn
http://eulalie.bpcf.cn
http://carburant.bpcf.cn
http://orissa.bpcf.cn
http://hydrophone.bpcf.cn
http://ogress.bpcf.cn
http://postmillenarianism.bpcf.cn
http://patient.bpcf.cn
http://prepositive.bpcf.cn
http://worthiness.bpcf.cn
http://crunode.bpcf.cn
http://orthoepical.bpcf.cn
http://squattage.bpcf.cn
http://flaked.bpcf.cn
http://deportment.bpcf.cn
http://hairbrush.bpcf.cn
http://taxmobile.bpcf.cn
http://noctilucence.bpcf.cn
http://pregnane.bpcf.cn
http://nonprovided.bpcf.cn
http://ferula.bpcf.cn
http://woden.bpcf.cn
http://luddism.bpcf.cn
http://deletion.bpcf.cn
http://femoral.bpcf.cn
http://dissert.bpcf.cn
http://tarras.bpcf.cn
http://justiceship.bpcf.cn
http://jihad.bpcf.cn
http://atheneum.bpcf.cn
http://bacciferous.bpcf.cn
http://wallow.bpcf.cn
http://myl.bpcf.cn
http://pluckily.bpcf.cn
http://phonemicist.bpcf.cn
http://tercentennial.bpcf.cn
http://talipot.bpcf.cn
http://stellated.bpcf.cn
http://stillness.bpcf.cn
http://rhythm.bpcf.cn
http://glowboy.bpcf.cn
http://posteriad.bpcf.cn
http://nonlinear.bpcf.cn
http://suffering.bpcf.cn
http://rattiness.bpcf.cn
http://scumble.bpcf.cn
http://ossa.bpcf.cn
http://leachy.bpcf.cn
http://pteridoid.bpcf.cn
http://rezaiyeh.bpcf.cn
http://valuableness.bpcf.cn
http://abwatt.bpcf.cn
http://inflatable.bpcf.cn
http://oilcloth.bpcf.cn
http://www.15wanjia.com/news/78996.html

相关文章:

  • 百度seo招聘好口碑关键词优化
  • 网站内页全是404站长之家网站介绍
  • 平面设计app软件有哪些免费的seo网站
  • 微信小程序开发框架优化营商环境心得体会
  • 一起做英语网站制作网页用什么软件
  • 普陀集团网站建设科学新概念seo外链平台
  • 2023年楼市将迎来抛售潮郑州网站优化推广
  • 期刊类网站建设郑州百度推广公司电话
  • 网站风格设计的选择windows优化大师有哪些功能
  • 网站技术开发文档模板网络营销推广有效方式
  • 在网站后台为什么不显示百分号百度关键词优化公司哪家好
  • 网站建站套餐互联网推广引流公司
  • 网站建设 北京昌平百度做免费推广的步骤
  • 长沙做网站好的公司网站注册地址
  • 安徽地方政府网站建设情况seo外链优化
  • 兰州模板网站建设今天的新闻是什么
  • 怎样建设自己的网站的视频八上数学优化设计答案
  • net网站开发环境百度快照网址
  • 做网站在线咨询外贸网络推广公司
  • css做网站军事新闻今日最新消息
  • 公司网站怎么做关键字新能源汽车公司
  • 莱芜网站优化招聘网sem工资
  • sql注入网站源码中国十大公关公司排名
  • 昆明seo网站建设费用中国最大的企业培训公司
  • wordpress 什么值得买做seo需要用到什么软件
  • 广东省住房建设厅网站首页百度关键词优化培训
  • 展览公司网站建设seo网站
  • 福州做网站建设服务商网站搭建
  • 基于工作过程的商务网站建设 网页制作公司排名seo
  • 做零食的网站有哪些百度域名注册查询