69,336
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{ int data;
struct node *next;
}linklist;
void Insert_list(linklist *rear,int entag)//利用尾插法插入元素。
{
int val;
//int x =0;
//linklist *rear=L;
printf("准备赋值");
scanf("%d",&val);
if(val==entag)
rear =NULL;
//printf("完成");
//{rear = (linklist*)malloc(sizeof(linklist));rear->next=NULL;rear->data=45;printf("完成");}
else
{
rear = (linklist*)malloc(sizeof(linklist));
rear->data = val;
printf("\n————————————完成————————————\n");
Insert_list(rear->next,entag);
}
}
void init_list(linklist *head)
{
head = (linklist*)malloc(sizeof(linklist));
head->next = NULL;
printf("\n初始化完成\n");
}
void print_list(linklist *head)
{ linklist *p=head->next;
printf("准备输出:");
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
}
printf("链表为空");
}
int main()
{ linklist *L;
printf("创建成功");
L = (linklist*)malloc(sizeof(linklist));
linklist *rear = L;
init_list(L);
Insert_list(rear,4);
print_list(L);
return 0;}
#include <stdio.h>
#include <stdlib.h>
typedef struct tagNode
{
int data;
struct tagNode* next;
}Node;
Node* getNode(int data)
{
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = NULL;
return (node);
}
void append(Node* last)
{
int data = 0;
printf("准备赋值:");
scanf("%d",&data);
if(data > 0)
{
last->next = getNode(data);
append(last->next);
}
}
void display(Node *head)
{
Node* node = head;
int data = 0;
printf("准备输出:\n");
while(NULL != node)
{
printf("data: %d\n", (data = node->data, node = node->next, data));
}
}
void destroy(Node* head)
{
Node* node = head;
int data = 0;
printf("准备释放:\n");
while(NULL != node)
{
printf("free: %d\n", (data = node->data, head = head->next, free(node), node= head, data));
}
}
int main()
{
Node *head = getNode(-1);
append(head);
display(head);
destroy(head);
return (0);
}
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{ int data;
struct node *next;
}linklist;
void Insert_list(linklist **rear,int entag)//利用尾插法插入元素。
{
int val;
//int x =0;
//linklist *rear=L;
printf("准备赋值");
scanf("%d",&val);
if(val==entag)
(*rear) =NULL;
//printf("完成");
//{rear = (linklist*)malloc(sizeof(linklist));rear->next=NULL;rear->data=45;printf("完成");}
else
{
(*rear) = (linklist*)malloc(sizeof(linklist));
(*rear)->data = val;
printf("\n————————————完成————————————\n");
Insert_list(&((*rear)->next),entag);
}
}
void init_list(linklist **head)
{
(*head) = (linklist*)malloc(sizeof(linklist));
(*head)->next = NULL;
printf("\n初始化完成\n");
}
void print_list(linklist *head)
{ linklist *p=head->next;
printf("准备输出:\n");
while(p!=NULL)
{
printf("%d\n",p->data);
p=p->next;
}
printf("链表为空");
}
int main()
{ linklist *L;
printf("创建成功");
//L = (linklist*)malloc(sizeof(linklist));
//linklist *rear = L;
init_list(&L);
Insert_list(&(L->next),4);
print_list(L);
return 0;}