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

可以自己做攻略的网站百度在线识图查图片

可以自己做攻略的网站,百度在线识图查图片,汉化wordpress 购物,衡水网站建设一、调试器 1.1 gdb(调试器) 在程序指定位置停顿 1.1.1 一般调试 gcc直接编译生成的是发布版(Release) gcc -g //-g调式版本,(体积大,内部有源码)(DeBug&#…

一、调试器

1.1 gdb(调试器)

        在程序指定位置停顿

1.1.1 一般调试

        gcc直接编译生成的是发布版(Release)

  1. gcc -g        //-g调式版本,(体积大,内部有源码)(DeBug)
    1. gcc -g main.c linklist.c
  2. gdb a.out  //a.out指代可执行文件
  3. b fun.c: 36 //设置断点,运行到该位置程序自动停
    1. b InsertPosLinklist
    2. b linklist.c:137
  4. r           运行
  5. n         // 执行下一步              n     s    //步入函数,自定义函数
  6. 使用p命令,查看变量或指针等数据
    1. p *data
    2. p len
  7. 按q退出
  8. 输入list   //查看源码,默认Main.c,一次十行,按回车查看后十行

1.1.2 找段错误

  1. gcc -g main.c linklist.c
  2. gdb a.out
  3. 按r直接运行
  4. 重现错误
  5. where找出段错误位置

二、链表(续,见day19)

2.1 单链表

2.1.1 尾插

int InsertTailLinkList(LinkList *ll, DATATYPE *data)
{if(IsEmptyLinkList(ll)){return InsertHeadLinkList(ll,data);}else{LinkNode *newnode = malloc(sizeof(LinkNode));if(NULL == newnode){fprintf(stderr, "InsertTailLinkList malloc");return 1;}memcpy(&newnode->data, data, sizeof(DATATYPE));newnode->next = NULL;LinkNode *tmp = ll->head;while (tmp->next) {tmp = tmp->next;}tmp->next = newnode;ll->clen++;}return 0;
}

2.1.2 指定位置插

(1)在首位插入,头插

(2)在最后插入,尾插

(3)中间插:

int InsertPosLinkList(LinkList *ll, DATATYPE *data, int pos)
{int len = GetSizeLinkList(ll);if(pos < 0 || pos > len){return 1;}if(0 == pos){return InsertHeadLinkList(ll, data);}else if(pos == len){return InsertTailLinkList(ll, data);}else {LinkNode *tmp =ll->head;LinkNode *newnode = malloc(sizeof(LinkNode));if(NULL == newnode){fprintf(stderr, "InsertPosLinkList malloc");return 1;}memcpy(&newnode->data, data, sizeof(DATATYPE));newnode->next = NULL;int i;for(i = 0; i < pos - 1;++i){tmp = tmp->next;}newnode->next = tmp->next;tmp->next = newnode;ll->clen++;}return 0;}

2.1.3 更改结点信息

int ModifyLinkList(LinkList*ll,char*name,DATATYPE*data)
{DATATYPE * tmp = FindLinkList(ll, name);if(NULL == tmp){return 1;}memcpy(tmp,data,sizeof(DATATYPE));return 0;
}

2.1.4 销毁链表

int DestroyLinkList(LinkList*ll)
{while(1){LinkNode *tmp = ll->head;if(tmp == NULL){break;}ll->head = ll->head->next;free(tmp);}free(ll);return 0;
}

2.2 单链表练习

2.2.1 找中间值

2.2.2 找倒数第k个元素

2.2.3 链表的逆序 

 2.2.4 链表的排序(插入排序)

2.2.5 判断是否为环形链表

 三、顺序表和链表对比

3.1存储方式

        顺序表 是一段连续的存储单元
        链表     是逻辑结构连续物理结构(在内存中的表现形式)不连续

3.2 时间性能

        查找 :          顺序表O(1)         链表  O(n)

        插入和删除:顺序表 O(n)        链表   O(1)

3.3 空间性能

        顺序表 需要预先分配空间,大小固定
        链表, 不需要预先分配,大小可变,动态分配

3.4 循环链表

        简单的来说,就是将原来单链表中最有一个元素的next指针指向第一个元素或头结点,链表就成了一个环,头尾相连,就成了循环链表。circultlar linker list.
        注意非空表,和空表。多数会加入头结点。
        原来结束的条件是 p->next != NULL ------->>>>> p-next != Head 
            
            
            
        

 

http://www.dtcms.com/wzjs/33151.html

相关文章:

  • 设计师能做网站前端吗b站推广网站入口
  • 自己做网站 最好的软件seo内部优化方式包括
  • 丹阳市建设局网站神马网站快速排名软件
  • 模板网站购买百度app首页
  • 网站增长期怎么做网络营销策划ppt范例
  • dz网站首页html代码在哪淘宝运营一般要学多久
  • 经营网站建设营销策划案例
  • 南京做网站联系南京乐识天津seo实战培训
  • 推广话术seo快速排名软件首页
  • 武汉城市建设网站关键信息基础设施安全保护条例
  • 网站去哪备案网络推广渠道
  • b2c网站建设湘潭网站制作
  • 广州知名网站推广app如何推广
  • 福田蒙派克哪家公司做seo
  • 南通企业做网站顾问
  • 北京有哪些网站建设杯子软文营销300字
  • 做网站的服务器还需要空间吗下载一个百度时事新闻
  • wordpress 网站卡太原做网站哪家好
  • 做网站用什么字体关联词有哪些关系
  • 网站源码 手机 微信做seo前景怎么样
  • 无锡网站制作启航好轻松seo优化排名
  • 做网站建设的销售薪水合肥网络推广公司
  • 茶楼网站模板网络公关公司联系方式
  • 做网站 钱百度网盘网页版登录入口官网
  • asp网站 被插入聚合搜索引擎入口
  • 上海网站建设哪家app推广地推接单网
  • 商丘网站制作重庆百度竞价推广
  • 重庆装饰公司口碑十强安徽seo推广公司
  • 苏州高端网站建设设计公司郑州网络营销排名
  • 美国做evus的网站长沙关键词优化平台