c_cpp 交替拆分给定的单链表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 交替拆分给定的单链表相关的知识,希望对你有一定的参考价值。
// https://www.geeksforgeeks.org/alternating-split-of-a-given-singly-linked-list/
#include <iostream>
#include <list>
using namespace std;
struct linked_list {
int data;
struct linked_list *next;
};
typedef struct linked_list node;
void print(node* n) {
while (n) {
cout<< n->data << "->";
n = n->next;
}
cout<< "NULL";
return;
}
void insert(node** head, int n) {
node* temp = *head;
node* list = new node;
list->data = n;
list->next = NULL;
if (temp == NULL) {
*head = list;
return;
}
while (temp->next)
temp = temp->next;
temp->next = list;
return;
}
void AlternateSplit (node* head, node **aref, node **bref) {
node* a = NULL, *b = NULL;
bool s = true;
while (head) {
if (s == 1) {
insert(&a, head->data);
head = head->next;
s = !s;
}
else {
insert(&b, head->data);
head = head->next;
s = !s;
}
}
*aref = a;
*bref = b;
return;
}
int main() {
int n;
node* head = NULL, *a = NULL, *b = NULL;
while (true) {
cout<< "Enter the number: ";
cin>>n;
if (n==-9)
break;
else
insert(&head, n);
}
print(head);
AlternateSplit(head, &a, &b);
cout<< "\n";
print(a);
cout<< "\n";
print(b);
}
以上是关于c_cpp 交替拆分给定的单链表的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 单链表的快速排序
c_cpp FP风格的反向单链表
c_cpp 用于检查单链表是否为回文的功能
c_cpp 单链表中的替代奇数和偶数节点
c_cpp C中的单链表 - 现在只实现交换
数据结构实验之链表五:单链表的拆分