#include<iostream>
using namespace std;
struct node {
int elem;
struct node* next;
};
struct node* createLinkedList() {
struct node* p;
p = new node;
p->next = nullptr;
return p;
}
bool isEmpty(struct node* head) {
return head->next == nullptr;
}
void insertNodeByHead(struct node* head, int x) {
struct node* temp;
temp = new node;
if (temp == nullptr) {
return;
}
temp->elem = x;
temp->next = head->next;
head->next = temp;
return;
}
void insertNodeByTail(struct node* head, int x) {
struct node* temp;
temp = new node;
if (temp == nullptr) {
return;
}
while (head->next != nullptr) {
head = head->next;
}
temp->elem = x;
temp->next = nullptr;
head->next = temp;
}
void printLinkedList(struct node* head) {
struct node* p = head->next;
while (p != nullptr) {
cout << p->elem << endl;
p = p->next;
}
return;
}
void findLinkedList(struct node* head, int x) {
struct node* p = head->next;
for (p; p != nullptr; p = p->next) {
if (p->elem = x) {
std::cout << p->elem;
}
}
}
void deleteLinkedList(struct node* head, int x) {
struct node* privious = head;
struct node* p = head->next;
while (p != nullptr) {
if (p->elem == x) {
privious->next = p->next;
free(p);
break;
}
else {
privious = p;
p = p->next;
}
}
return;
}
void reviseLinkedList(struct node* head, int x) {
struct node* p;
p = head->next;
while (p->next != nullptr && p->elem != x) {
p = p->next;
}
p->elem = x;
}
int main() {
return 0;
}
数据结构与算法-单链表
于 2022-07-01 21:44:52 首次发布