ListNode* m = head; while (m != nullptr){ cout << m->val << endl; m = m->next; } return 0; } 2. 插入节点 判断原链表是否是空链表,如果是,将head指向新增结点 如果不是空链表,向链表尾部插入新结点 ListNode* insertNode(ListNode* head, int data){ ListNode* newNode = new ListNode(da...
cout << *it <<endl; } ListNode 是一个数据类型,定义: structListNode{intval;//当前节点的值ListNode* next;//指向下一个节点的指针//初始化构造函数,与结构体同名的定义函数,特殊的成员函数ListNode(intx):val(x),next(NULL){} };
⭐test.c是主函数,存放框架,测试函数 (1)创建一个链表 首先,我们可以类比顺序表,在创建顺序表的时候,是用一个结构体来创建的,所以我们可以用结构体创建,包括数据和下一个结构体的地址(用来找到下一个地址) typedef int SLTDataType; typedef struct SListNode { SLTDataType data; struct SListNode* next; ...
1#include <io_utils.h>2#include <stdlib.h>34typedefstructListNode {5intvalue;6structListNode *next;7} ListNode;89ListNode *CreateNode(intvalue) {10ListNode *node = malloc(sizeof(ListNode));11if(!node) exit(1);1213node->value =value;14node->next =NULL;15returnnode;16}1718voidDestroyNod...
malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以通过类型转换强制转换为任何其它类型的指针。--摘自百度百科 malloc函数 sizeof(ListNode)计算ListNode所需要分配的空间大小 (ListNode*)malloc(...) 将返回的指针(void*)...
}listnode,*listlink; listlink Creat_list_node();//创建节点 int Mode_Select(listlink head );//模式选择 int Tail_Add_Node(listlink head);//尾部插入 listlink Display(listlink head,int mode);//遍历节点 int Head_Add_Node(listlink head);//头部插入 ...
ListNode* head = createNode(4); head->next = createNode(2); head->next->next = createNode(1); head->next->next->next = createNode(3); // 打印原链表 printf("原链表:"); printList(head); // 对链表进行排序 head = insertionSortList(head); /...
SListNode* tail = *pplist; //β while (tail->next != NULL) ps:1.这里我设计的链表函数时没有返回值的,所以我用到了二级指针,因为如果我们传一级指针的话,形参只是实参的一份临时拷贝,当出了作用域后, 创建的newnode等等这些在栈上开辟的变量就会不存在了,不会影响到要改变的plist。
typedef int SLTDataType;typedef struct SListNode //--single Linked List{SLTDataType data;//成员变量struct SListNode* next;}SLTNode; 定义了一个单链表节点的结构体SLTNode,其中包含了两个成员变量:一个名为data的int变量SLTDataType,和一个名为next的指向下一个节点的指针。
ListNode *cur = pHead;ListNode *pNext = nullptr;//上述代码为定义前一个节点、当前节点 //以及下一个节点的内容,其中当前节点为pHead,另外两个节点初值 //为空 while (cur)//当前节点不为空时,进入循环,下面内容分别对应1 2 3 4步 { pNext = cur->next;cur->next = pre;pre = cur;cur = ...