用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。
注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换
交换函数定义可以参考:
swap(int pa, int pb) //pa和pb表示两个结点在单链表的位置序号
swap (ListNode * p, ListNode * q) //p和q表示指向两个结点的指针

#include<iostream>
using namespace std;
#define ok 0
#define error -1
class ListNode{
public:
int data;
ListNode* next;
ListNode(){
next = NULL;}
};
class LinkList{
public:
ListNode* head;
int len;
LinkList(){
head = new ListNode();
len =0;
}
~LinkList(){
ListNode *p,*q;
p = head;
while(p != NULL){
q=p;
p=p->next;
delete q;
}
len = 0;
head = NULL;

这篇博客介绍了如何使用C++实现一个带有头结点的单链表,并详细阐述了如何通过修改指针来交换链表中两个结点的位置。提供了交换函数的两种定义方式,一种基于结点的位置序号,另一种基于指向结点的指针。
最低0.47元/天 解锁文章
4172

被折叠的 条评论
为什么被折叠?



