#include<iostream> using namespace std; struct LinkedList { // todo: some variables here void initialize() { int n; scanf("%d", &n); int *a = new int[n]; for(int i = 0; i < n; i++) scanf("%d", &a[i]); // todo delete[] a; } void insert(int i, int x) { // todo } void erase(int i) { // todo } void swap() { // todo } void moveback(int i, int x) { // todo } int query(int i) { // todo } void printAll() { // todo } void ClearMemory() { // todo } }; int main() { LinkedList List; int m, op, i, x; List.initialize(); scanf("%d", &m); while(m--) { scanf("%d", &op); if(op == 1) { scanf("%d%d", &i, &x); List.insert(i, x); } else if(op == 2) { scanf("%d", &i); List.erase(i); } else if(op == 3) { List.swap(); } else if(op == 4) { scanf("%d%d",&i, &x); List.moveback(i, x); } else if(op == 5) { scanf("%d", &i); printf("%d\n", List.query(i)); } else if(op == 6) { List.printAll(); } } List.ClearMemory(); return 0; }
时间: 2024-02-14 10:09:36 浏览: 54
#include <iostream>
这是一个链表的基本操作模版,并且主函数里面已经实现了对链表的插入、删除、交换、移动、查询和打印等操作。您可以根据自己的需求进行修改和补充。需要注意的是,链表的定义和操作都在结构体 LinkedList 中进行,所以您需要在结构体中添加相应的变量和函数来实现您的需求。同时,为了避免内存泄漏,您需要在程序结束之前调用 ClearMemory 函数释放链表所占用的内存。
阅读全文