链表的创建!
关于链表的问题!
答案:3 悬赏:10 手机版
解决时间 2021-05-10 00:44
- 提问者网友:温柔港
- 2021-05-09 12:53
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-05-09 13:57
等一下我吃饭去先。
全部回答
- 1楼网友:七十二街
- 2021-05-09 15:23
#include <stdio.h>
#include <stdlib.h>
typedef struct _list {
int val;
struct _list* next;
} *node, list;
node Insert( node* head, node pos, int val )
{
node tmp;
tmp = ( node )malloc( sizeof( list ) );
tmp->val = val;
tmp->next = pos ? pos->next : *head;
if ( pos ) {
pos->next = tmp;
} else {
*head = tmp;
}
return tmp;
}
node Create( int* beg, int* end )
{
node head, t;
head = t = NULL;
while ( beg != end ) {
t = Insert( &head, t, *beg++ );
}
return head;
}
void Print( node head )
{
while ( head ) {
printf( "%d ", head->val );
head = head->next;
}
putchar( '\n' );
}
int main()
{
int a[] = { 6,1,3,9,2,8,5,0,7,4 };
node head;
head = Create( a, a + 10 );
Print( head );
getchar();
return 0;
}
- 2楼网友:舊物识亽
- 2021-05-09 14:41
#include <stdlib.h> /包*含ma l l o c ( ) 的头文件*/
#include <stdio.h>
struct node
head=creat(head);
print(head);
}
struct node*creat(structnode*head)函/数*返回的是与节点相同类型的指针*/
{
struct node*p1,*p2;
p1=p2=(structnode*)malloc(sizeof(structnode));申请
scanf("%d",&p1->num);
p1->next=NULL;
while(p1->num>0)
{
if(head==NULL)head=p1;
elsep2->next=p1;
p2=p1;
p1=(structnode*)malloc(sizeof(structnode));申/请*下一个新节点*/
scanf("%d",&p1->num);
}
return head;
}
void print(struct node*head)输
{
struct node *temp;
temp=head;
while(temp!=NULL)
{
printf("%6d",temp->num);
temp=temp->next;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯