算法
KLNL100
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单链表逆置
node* reverse(node *head) { if(NULL == head || NULL == head->next)//不要忘记了判断为空的情况 return head; Node* q = head->next; q->next = NULL; Node *p = head->next->next; Node *s = p->next; while(NULL !=原创 2014-03-21 07:36:08 · 613 阅读 · 0 评论 -
斐波那契数列
几个例子: 1、 三角形的三边关系定理和斐波那契数列的一个联系: 有长为144cm的铁丝,要截成n小段(n>2),每段的长度不小于1cm,如果其中任意三小段都不能拼成三角形,则n的最大值为多少? 2、 现一对兔子每月能生一对小兔,而每对小兔在他出生后的第三个月,就能开始生小兔,如果兔子是长生不老的,由一对刚出生的小兔开始,一年之后会有多少对兔子? 斐波那转载 2014-03-20 11:40:08 · 929 阅读 · 0 评论 -
删除单链表第一个元素
Node* Dele(Node* head) { if(NULL == head) return head; Node* p = head; Node* q = p->next; if(NULL == q) return head; p->next = q->next; free(q); return head; }原创 2014-03-21 07:58:12 · 2925 阅读 · 0 评论 -
遍历一次求单链表中间节点
Node* FindMid(Node* head) { if(NULL == head||NULL = head->next) return head; Node *p = head->next;; Node *q = p; while(NULL != p) { p = p->next->next; q = q->next; } return q; }原创 2014-03-21 17:07:32 · 775 阅读 · 0 评论 -
单链表排序
//假设由小到大进行排序 Node* Sort(Node* head) { node *p p = head; node *p q= p->next; int m,n,temp; int nlength = length(head); if(NULL == head || NULL == head) { return head; } while(NULL !=原创 2014-03-21 00:44:38 · 555 阅读 · 0 评论 -
单链表的建立、测长和打印
#include using namespace std; typedef struct St { int data; Node * next; }Node; Node* Create() { Node* q= (Node*)malloc(sizeof(Node)); int x; Bool circle = True;转载 2014-03-20 23:41:30 · 570 阅读 · 0 评论 -
单链表编程删除
Node* Dele(Node* head,int value) { if(NULL != head->next) { Node* p = head; Node* q = p; while(value != p->data) { q=p; p = p->next; } q->next = p->next; } return head; }原创 2014-03-20 23:52:20 · 671 阅读 · 0 评论 -
单链表的插入
//假设顺序为从小到大 Node * Insert(Node* head,int e) { Node* q = head; Node* p = (Node*)malloc(sizeof(Node)); p->data = e; while((edata) && NULL != q->next) { q=q->next; } if(NULL == q->next) {原创 2014-03-21 00:25:08 · 682 阅读 · 0 评论 -
用循环列表解决一个约瑟夫问题
#include using namespace std; typedef struct LNode { int data; LNode* link; }LNode,*LinkList; //n为总人数,k为第一个报数的人,m为出列者喊道的数 void JOSEPHUS(int n,int k,int m) { //p为当前节点,r为辅助节点,指向p的前驱结点,list为头结点转载 2014-03-21 19:07:50 · 760 阅读 · 0 评论
分享