69,371
社区成员
发帖
与我相关
我的任务
分享
typedef struct node { int data; struct node *next; } SLink;
void InitList (SLink * sq)
{
for (int i = 1; i <= 10; i ++) sq -> next = (NLink *) malloc (sizeof (NLink)), sq-> data = i, sq = sq -> next;
}
int main (void)
{
NLink * sl = (NLink *) malloc (sizeof (NLink));
InitList(sl);
/* use sl ......*/
}
[/quote]
是啊,鄙人才疏学浅,而且我又不是计算机,我只能写我能看懂的代码。[/quote]
不要客气,大家互相学习。考虑到InitList的参数是SLink **,不才兄弟俺闲得无聊,弄了个新版:
typedef struct node { int data; struct node * next; } SLink;
void InitList (SLink * * sq)
{
* sq = (SLink *) malloc (sizeof (SLink));
for (int i = 1; i <= 10; i ++)
{
(* sq) -> next = (SLink *) malloc (sizeof (SLink));
(* sq) -> data = i;
sq = & ((* sq) -> next);
}
(* sq) -> next = 0;
}
int main (void)
{
SLink * sl;
InitList (& sl);
while (sl->next) printf ("%d\n", sl -> data), sl = sl -> next;
/* use sl ......*/
}
typedef struct node { int data; struct node *next; } SLink;
void InitList (SLink * sq)
{
for (int i = 1; i <= 10; i ++) sq -> next = (NLink *) malloc (sizeof (NLink)), sq-> data = i, sq = sq -> next;
}
int main (void)
{
NLink * sl = (NLink *) malloc (sizeof (NLink));
InitList(sl);
/* use sl ......*/
}
[/quote]
是啊,鄙人才疏学浅,而且我又不是计算机,我只能写我能看懂的代码。[/quote]
不要客气,大家互相学习。考虑到InitList的参数是SLink **,不才兄弟俺闲得无聊,弄了个新版:
typedef struct node { int data; struct node * next; } SLink;
void InitList (SLink * * sq)
{
* sq = (SLink *) malloc (sizeof (SLink));
for (int i = 1; i <= 10; i ++)
{
(* sq) -> next = (SLink *) malloc (sizeof (SLink));
(* sq) -> data = i;
sq = & ((* sq) -> next);
}
(* sq) -> next = 0;
}
int main (void)
{
SLink * sl;
InitList (& sl);
while (sl->next) printf ("%d\n", sl -> data), sl = sl -> next;
/* use sl ......*/
}#include<stdio.h>
#include<stdlib.h>
struct list
{
int data;
struct list *next ;
};
void init_list(struct list **head)
{
int i;
struct list *p,*tmp;
p = (struct list *)malloc(sizeof(struct list));
*head = p;
(*head) ->data = 1;
for(i = 1; i < 10; ++i)
{
tmp = (struct list *)malloc(sizeof(struct list));
tmp ->data = i + 1;
tmp ->next = NULL;
p ->next = tmp;
p = p ->next;
}
}
void print_list(struct list *head)
{
while(head != NULL)
{
printf("%d\t",head ->data);
head = head ->next;
}
}
int main()
{
struct list *root;
init_list(&root);
print_list(root);
return 0;
}
typedef struct node { int data; struct node *next; } SLink;
void InitList (SLink * sq)
{
for (int i = 1; i <= 10; i ++) sq -> next = (NLink *) malloc (sizeof (NLink)), sq-> data = i, sq = sq -> next;
}
int main (void)
{
NLink * sl = (NLink *) malloc (sizeof (NLink));
InitList(sl);
/* use sl ......*/
}
[/quote]
是啊,鄙人才疏学浅,而且我又不是计算机,我只能写我能看懂的代码。typedef struct node { int data; struct node *next; } SLink;
void InitList (SLink * sq)
{
for (int i = 1; i <= 10; i ++) sq -> next = (NLink *) malloc (sizeof (NLink)), sq-> data = i, sq = sq -> next;
}
int main (void)
{
NLink * sl = (NLink *) malloc (sizeof (NLink));
InitList(sl);
/* use sl ......*/
}
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
}SLink;
/***初始化单链表 ***/
void InitList(SLink **sq)
{
*sq=(SLink *)malloc(sizeof(SLink));
(*sq)->next=NULL;
}
/******主函数 *******/
int main(void)
{
SLink *la;
SLink *temp;
SLink *p,*q;
int i;
InitList(&la);
q = la;
//想把数字1到10放到单链表la的是个节点中,应该怎么实现?
for(i = 1;i<11;i++)
{
temp = (SLink *)malloc(sizeof(SLink));
temp->data = i;
temp->next = NULL;
q->next = temp;
q = q->next;
}
//测试一下是否正确
q = la->next;
while(q)
{
printf("%d ",q->data);
q = q->next;
}
return 0;
}