#include <stdio.h>
#include <malloc.h>
//定义双链表的结构体
typedef struct DoubleLinkedNode{
char data;
struct DoubleLinkedNode *previous;
struct DoubleLinkedNode *next;
} DLNode, *DLNodePtr;
//创建头结点
DLNodePtr initLinkList(){
DLNodePtr tempHeader = (DLNodePtr)malloc(sizeof(struct DoubleLinkedNode));
tempHeader->data = '\0';
tempHeader->previous = NULL;
tempHeader->next = NULL;
return tempHeader;
}
//打印链表
void printList(DLNodePtr paraHeader){
DLNodePtr p = paraHeader->next;
while (p != NULL) {
printf("%c", p->data);
p = p->next;
}
printf("\r\n");
}
//插入结点
void insertElement(DLNodePtr paraHeader, char paraChar, int paraPosition){
DLNodePtr p, q, r;
//1、找到目标位置
p = paraHeader;
int i;
for (i = 0; i < paraPosition; i ++) {
p = p->next;
if (p == NULL) {
printf("位置%d超出了链表长度", paraPosition);
return;
}
}
//2、创建新结点
q = (DLN
双向链表代码
最新推荐文章于 2024-08-02 12:48:49 发布