ChinaUnix.net
相关文章推荐:

创建单向链表

typedef struct linknode { int data; struct linknode *next; }linknode,*linklist; void creatlist(linklist &L) { linklist head,p; int i; L=(linklist)malloc(sizeof(linknode)); if(!L) printf("malloc error;"); L->next=L; head=L; for(i=1;i<=10;i++) { p=(linklist)malloc(sizeof(linknode)); if(!p) printf("malloc error;"); p->data=i; L->next=p p->next=head; L=p; } } 创建时我传入的是一个 linklist指针,...

by jiean - C/C++ - 2009-02-03 10:48:23 阅读(6264) 回复(14)

相关讨论

下面是我写的一个检查单向链表是否含有循环节点的函数. [code]NODE * check_cycle_list(NODE *tail) { NODE *p1, *p2; p1=p2=tail; for (::) { p1=p1->next; if (p2->next !=NULL) { p2=p2->next->next; } if ((p1==NULL) || (p2==NULL) ) { ...

by lc1999 - C/C++ - 2009-06-18 10:24:09 阅读(1383) 回复(3)

各位CU朋友,有谁有比较好的链表逆序的算法吗? 今天有个面试,问及这个问题的时候,我只是用最简单的方法实现了,但是被人家BS了,他说有一本操作系统的书上有关于这个链表逆序的算法,说我不爱看书。当时老没面子了。不知道有没有人看过这本书,或者知道这个算法。谢谢。 PS:我的算法是这样子的:从头结点开始,一个结点一个结点的从原链表上摘下来,做为新生成链表的尾结点,直到所有节点被这样子弄一遍(自己也感觉这个方法...

by foolishx - C/C++ - 2007-11-19 10:24:15 阅读(3928) 回复(14)

一个单向链表 最后一个节点没有指向 NULL 最后一个节点有可能指向该链表的任意一个节点 怎么判断该链表是否环接了? 能否给个思路 谢谢拉~:emn15:

by 车太咸 - C/C++ - 2007-11-05 10:08:39 阅读(1716) 回复(6)

[code] typedef struct node { int data; struct node * next; }Node; typedef struct { Node * front; int size; }LList; /*the node setup function*/ void Nodesetup(Node * front) { front->;next=0; } /*the Llist setup function*/ void Llistsetup(LList * LL) { LL->;front= (Node *)malloc(sizeof(Node)); if(LL->;front==0) { printf("\noverflow"); exit(1); } Nodesetup(LL->;front); LL->;size=0; } /...

by bjldlee - C/C++ - 2004-07-31 11:01:48 阅读(1451) 回复(12)

[CODE] /* sqlink */ #include ; typedef struct list { char data; struct list *next; } SqlistNode; typedef SqlistNode *Sqlist; Sqlist creatlist(void) { char ch; Sqlist head,p; head=NULL; p=head; while((ch=getchar())!=' ') { p=p->;next; p->;data=ch; } printf("creat lintk ok.\n"); return head; //本以为返回的是创建成功后的头接点地址 } i...

by syshunter - C/C++ - 2003-09-29 09:39:26 阅读(1150) 回复(4)
by antiika - C/C++ - 2007-09-20 10:12:05 阅读(11018) 回复(36)

我同学最近面试某IT公司的电话面试一个题目,他说当时可能回答的不好,和我讨论了一下。这里来问问大家。 给你一个单向链表的头指针,可能最后不是NULL终止,而是循环链表。题目问你怎么找出这个链表循环部分的第一个节点。比如下面的链表: [code] 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> (3) 循环 [/code] 就应该返回结点3的位置。 当然尽量用少的空间和时间是题目的要求。

by emacsnw - C/C++ - 2010-10-18 23:36:37 阅读(35986) 回复(115)

单向链表中怎么可能会出现环路, 一直想不明白, 高手能画个示意图出来看看吗, 先谢了~ :mrgreen:

by developing_T - C/C++ - 2005-12-05 17:21:16 阅读(9780) 回复(35)

初学c++,这是一道习题。我的做法如下,不知道有什么错误 [code]struct mystruct { long number; mystruct* next; }; void reverse(mystruct* head) { if( head->;next=NULL ){} else { if(head->;next->;next=NULL){} else { mystruct* mark; mark=head->;next->;next; while(mark->;next->;next) { mark=mark->;next; } mystruct* mark2=mark->;next; mark->;next=NULL; reverse(head...

by yangtou - C/C++ - 2004-04-20 17:35:36 阅读(1110) 回复(0)

今天老师要我们做一个题: 打开一个文件 ,然后反方向输出到屏幕 即文件的最后一行作为输出到屏幕的第一行 我以经做成了一个单向链表,能够原样的输出,但不能反向的输出 #include ; #include ; #include ; using namespace std; struct linetxt{ char * linetext; linetxt * next; }; linetxt * pW; linetxt * head = NULL; linetxt * pEnd; int main(){ ifstream fin(...

by laye - C/C++ - 2003-12-26 16:23:04 阅读(2293) 回复(19)