#include <stdio.h>
#include <stdlib.h>
#define OK 0
#define ERROR -1
#define MALLOC_ERROR -2
typedef int ElementType;
typedef struct node
{
ElementType data; // 结点的数据
struct node *next; // 结点指针
}Node;
typedef Node *PNode; // 重命名结点指针类型
// 头插法创建链表
//int Create_List_Head(struct node ** head, ElementType data)
int Create_List_Head(PNode *head, ElementType data)
{
// 创建一个新的结点
//struct node * node = (struct node *)malloc(sizeof(Node)/sizeof(char));
PNode p = (PNode)malloc(sizeof(Node)/sizeof(char));
if (p == NULL)
{
return MALLOC_ERROR;
}
// 将新数据赋给新结点
p->data = data;
p->next = *head;
*head = p;
}
// 打印
void DisPlay(PNode head)
{
if (head == NULL)
{
return;
}
PNode temp = head;
while (temp)
{
printf ("%4d", temp->data);
temp = temp->next;
}
printf ("\n");
}
int main()
{
PNode head = NULL;
// 头插法创建链表
int i = 0;
for (i = 0; i < 10; i++)
{
// 头插法创建链表
Create_List_Head(&head, i);
}
DisPlay(head);
return 0;
}
#include <stdlib.h>
#define OK 0
#define ERROR -1
#define MALLOC_ERROR -2
typedef int ElementType;
typedef struct node
{
ElementType data; // 结点的数据
struct node *next; // 结点指针
}Node;
typedef Node *PNode; // 重命名结点指针类型
// 头插法创建链表
//int Create_List_Head(struct node ** head, ElementType data)
int Create_List_Head(PNode *head, ElementType data)
{
// 创建一个新的结点
//struct node * node = (struct node *)malloc(sizeof(Node)/sizeof(char));
PNode p = (PNode)malloc(sizeof(Node)/sizeof(char));
if (p == NULL)
{
return MALLOC_ERROR;
}
// 将新数据赋给新结点
p->data = data;
p->next = *head;
*head = p;
}
// 打印
void DisPlay(PNode head)
{
if (head == NULL)
{
return;
}
PNode temp = head;
while (temp)
{
printf ("%4d", temp->data);
temp = temp->next;
}
printf ("\n");
}
int main()
{
PNode head = NULL;
// 头插法创建链表
int i = 0;
for (i = 0; i < 10; i++)
{
// 头插法创建链表
Create_List_Head(&head, i);
}
DisPlay(head);
return 0;
}