定义单链表类型,创建单链表11(带头结点)。编写函数void AddNodeFront(ElementType e,List 1)在链表头部插入新结点,将(4,3,2,1)依次插入单链表11头部,遍历表链并打印结点的程序
时间: 2024-05-25 13:16:36 浏览: 81
有头结点的单链表表的实现
// 定义单链表结构体
typedef struct Node *PtrToNode;
struct Node {
ElementType data;
PtrToNode next;
};
typedef PtrToNode List;
// 创建带头结点的单链表
List CreateList() {
List L = (List)malloc(sizeof(struct Node));
L->next = NULL;
return L;
}
// 在链表头部插入新结点
void AddNodeFront(ElementType e, List L) {
PtrToNode newNode = (PtrToNode)malloc(sizeof(struct Node));
newNode->data = e;
newNode->next = L->next;
L->next = newNode;
}
// 遍历链表并打印结点
void PrintList(List L) {
PtrToNode p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
List L = CreateList();
AddNodeFront(1, L);
AddNodeFront(2, L);
AddNodeFront(3, L);
AddNodeFront(4, L);
PrintList(L);
return 0;
}
阅读全文