基础学习第三弹
来源:互联网 发布:软件收入百强 编辑:程序博客网 时间:2024/06/06 13:18
今天被老师拉去做“苦力”没有学多少。。。惭愧
接第二弹
循环链表
与单链表区别在于尾结点的指针不是NULL,而是指向head
算法没什么大的区别,注意尾结点p2->next=NULL改为p2->next=head;
遍历时,p1->next!=NULL改为p1->next!=head;
- 循环链表的创建算法
#include <malloc.h>tyepdef struct node{ int num; struct node *next;}stud;stud *create(int n){ stud *head,*p1,*p2; head=p1=p2=NULL; for(int i=0;i<n;i++) { p1=(stud *)malloc(sizeof(stud)); p1->num=i; if(i==0) head=p1; else p2->next=p1; p2=p1; } p2->next=head;//!!!!!!! return head;}
- 循环链表的查找算法
stud *find(stud *head,int i){ stud *p1; p1=head; while(p1!=NULL) { if(p1->num==i) { break; } else { p1=p1->next; if(p1==head)//!!!!!!! { p1=NULL; } } } return p1;}
- 循环链表的删除算法
bool del(stud *head ,int i){ bool consq=false; if(head) { stud *p1,*p2; p1=head; while(p1->num!=i&&p1->next!=head)//!!! { p2=p1; p1=p1->next; } if(p1->num==i) { if(p1==head)//!!!! { head=p1->next; } else { p2->next=p1->next; } free(p1);//!!!! consq=true; } } return consq}
都是不考虑重复元素的,碰到重复的情况,算法需要进行调整。目前想法是碰到一个删除一个,直到遍历完成,而不是这里的先遍历,一旦碰到符合条件的就停止进行处理。还需考虑有序无序。
- 循环链表的插入算法
stud *insert(stud *head,stud *p){ if(!head) { head=p; p->next=head; //!!!!! } else { stud *p1,*p2; p1=head; while(p->num >p1->num && p1->next!=head) { p2=p1; p1=p1->next; } if(p->num<=p1->num) { if(p1==head) { head=p; p->next=head;//书上没加,我觉得应该加一个 } else { p2->next=p; p->next=p1; } } else //注意点!单链表我没加,略微不同,我觉得单链表那书上也写这个有点多余 { p1->next=p; p->next=head; } }}
双向链表
待续。。。
阅读全文
0 0
- 基础学习第三弹
- 深度学习零基础进阶第三弹
- java基础第三弹~~
- XSL:XSL基础学习第三部分
- Lucene4.9基础学习第三步
- 机器学习基础 第三章 分类算法
- java基础学习--------第三章流程控制
- 强化学习基础 第三讲 蒙特卡罗方法
- 关于WebService的第三方基础学习
- C#基础学习第三篇:继承
- C#基础学习第三篇: 泛型
- 强化学习基础 第三讲 蒙特卡罗方法
- Cocoa2d-X学习笔记第三篇:基础数据结构
- eLua学习第三课:Lua脚本语言的基础入门教程
- JAVA学习第三回:JAVA语法基础:大致了解
- Java 学习基础第三章之数据类型和运算符
- JAVA学习笔记——第三章 Java语言基础
- PHP基础学习第三讲(循环讲解)
- 五子棋 电脑先走
- Al:从零开始的汇编语言2
- Pace 6 (1.写一个函数返回参数二进制中 1 的个数;2..获取一个数二进制序列中所有的偶数位和奇数位;3. 输出一个整数的每一位;4.两个int整数的二进制表达中,有多少个位不同
- 动态规划——编辑距离
- sun.misc.Unsafe类 学习小结
- 基础学习第三弹
- Eclipse的使用
- CharSequence接口的实现类
- LinuxC编程
- 网站爬取
- yii2.0报的js冲突的错
- C语言:(新)四则计算器(支持括号和次方运算)
- ACM训练半周总结—10月26
- 内存泄漏