//C++版本
#include <iostream>
using namespace std;
class Node {
public:
int data;
Node *next;
};
int main() {
int A[] = { 3,5,7,10,15 };
Node *head = new Node;
Node *temp;
Node *last;
head->data = A[0];
head->next = nullptr;
last = head;
for(int i = 1; i < sizeof(A) / sizeof(A[0]); i++){
temp = new Node;
temp->data = A[i];
temp->next = nullptr;
last->next = temp;
last = temp;
}
Node *p = head;
while (p != nullptr) {
cout << p->data << "->" << flush;
p = p->next;
}
return 0;
}
C语言版本
# include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
}*first=NULL;
void create(int A[], int n) {
int i;
struct Node*t, *last;
first = (struct Node *) malloc(sizeof(struct Node));
first->data = A[0];
first->next = NULL;
last=first;
for (i = 0; i < n; i++) {
t= (struct Node *) malloc(sizeof(struct Node));
t->data = A[i];
t->next = NULL;
last->next = t;
last = t;
}
}
void Display(struct Node *p)
{
while (p != NULL) {
printf("%d", p->data);
p = p->next;
}
}
void RDisplay(struct Node *p)
{
if (p != NULL)
{
RDisplay(p->next);//recursion 递归
printf("%d", p->data);
}
}
int main() {
struct Node *temp;
int A[] = { 3,5,7,10,25,8,32,2 };
create(A, 8);
Display(first);
return 0;
}