链表--穿针引线

xiaoxiao2021-02-28  56

链表测试程序

这里给了链表相关的基本操作。

链表结点结构体

struct ListNode{ int val; ListNode *next; Listnode(int x) : val(x), next(NULL){}//如果有参数,结点初始化。 };

给定数组即其元素个数创建链表

ListNode* createLinkedList(int arr[], int n){ if(n == 0) return NULL; ListNode *head = new ListNode(arr[0]); ListNode *curNode = head; for(int i = 1; i < n; i++){ curNode.next = new ListNode(arr[i]); curNode = curNode.next; } return head; }

链表空间的释放

void deleteLinkedlist(ListNode *head){ ListNode *curNode = head; while(curNode!=NULL){ ListNode *delNode = curNode; curNode = curNode->next; delete delNode; } }

打印链表

void printLinkedList(ListNode *head){ ListNode *curNode = head; while(curNode!=NULL){ cout<< curNode->val <<" -> "; curNode = curNode->next; } cout <<"NULL"<<endl; return; }

测试程序

int main() { int arr[] = {1,2,3,4,5}; int n = sizeof(arr)/sizeof(int); ListNode *head = createLinkedList(arr,n); printLinkedList(head); ListNode *head2 = reversedList(head); printLinkedList(head); deleteLinkedlist(head2); return 0; }
转载请注明原文地址: https://www.6miu.com/read-2621527.html

最新回复(0)