#include
<
stdio.h
>
#include < stdlib.h >
struct nodetype
{
int data;
/* data数据项用于存放结点的数据值 */
struct nodetype * next;
/* next数据项存放下一个结点的指针 */
};
struct nodetype * InitialLinkList ()
{
struct nodetype * head;
head = ( struct nodetype * )malloc( sizeof ( struct nodetype )); //
head -> next = NULL;
return head;
}
void CreateLinkListInRear( struct nodetype * head, int a[], int n)
{ int i; struct nodetype * temp, * rear;
rear = head;
for (i = 0 ;i < n;i ++ )
{
temp = ( struct nodetype * )malloc( sizeof ( struct nodetype));
temp -> data = a[i];
temp -> next = NULL;
rear -> next = temp;
rear = temp;
}
}
void CreateLinkListInHead( struct nodetype * head,
int a[], int n)
{ int i; struct nodetype * temp, * front;
for (i = 0 ;i < n;i ++ )
{
temp = ( struct nodetype * )malloc(
sizeof ( struct nodetype));
temp -> data = a[i];
temp -> next = head -> next;
head -> next = temp;
}
}
void printlinklist( struct nodetype * head)
{
struct nodetype * p;
p = head -> next;
while (p != NULL)
{
printf( " %d " ,p -> data);
p = p -> next;
}
}
void main()
{
struct nodetype * head;
int a[ 3 ] = { 3 , 2 , 1 };
head = InitialLinkList();
// CreateLinkListInRear(head,a,3);
CreateLinkListInHead(head,a, 3 );
printlinklist(head);
}
#include < stdlib.h >
struct nodetype
{
int data;
/* data数据项用于存放结点的数据值 */
struct nodetype * next;
/* next数据项存放下一个结点的指针 */
};
struct nodetype * InitialLinkList ()
{
struct nodetype * head;
head = ( struct nodetype * )malloc( sizeof ( struct nodetype )); //
head -> next = NULL;
return head;
}
void CreateLinkListInRear( struct nodetype * head, int a[], int n)
{ int i; struct nodetype * temp, * rear;
rear = head;
for (i = 0 ;i < n;i ++ )
{
temp = ( struct nodetype * )malloc( sizeof ( struct nodetype));
temp -> data = a[i];
temp -> next = NULL;
rear -> next = temp;
rear = temp;
}
}
void CreateLinkListInHead( struct nodetype * head,
int a[], int n)
{ int i; struct nodetype * temp, * front;
for (i = 0 ;i < n;i ++ )
{
temp = ( struct nodetype * )malloc(
sizeof ( struct nodetype));
temp -> data = a[i];
temp -> next = head -> next;
head -> next = temp;
}
}
void printlinklist( struct nodetype * head)
{
struct nodetype * p;
p = head -> next;
while (p != NULL)
{
printf( " %d " ,p -> data);
p = p -> next;
}
}
void main()
{
struct nodetype * head;
int a[ 3 ] = { 3 , 2 , 1 };
head = InitialLinkList();
// CreateLinkListInRear(head,a,3);
CreateLinkListInHead(head,a, 3 );
printlinklist(head);
}
参看: http://www.cnblogs.com/emanlee/archive/2007/09/10/888942.html