数据结构链表
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【数组模拟链表】UVA - 11988 Broken Keyboard
Problem Description 输入一行文本,如果遇到’[‘就会跳到最前面继续输入,如果遇到’]’就会跳到最后面继续输入 代码:数组模拟链表的后面插入#include<cstdio> #include<cstring> using namespace std; char s[100005];//数据数组 int next[100005];//指向数组 int main() { i翻译 2017-05-28 16:11:16 · 318 阅读 · 0 评论 -
SDUT 2122-数据结构实验之链表七:单链表中重复元素的删除
Problem Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。 Input 第一行输入元素个数 n (1 <= n <= 15); 第二行输入 n 个整数,保证在 int 范围内。 Output 第一行输出初始链表元素个数; 第二行输出按照逆位序所建立的初始链表; 第三行输出删除重翻译 2017-12-23 20:54:24 · 228 阅读 · 0 评论 -
SDUT 2120-数据结构实验之链表五:单链表的拆分
Problem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。 Input 第一行输入整数N;; 第二行依次输入N个整数。 Output 第一行分别输出偶数链表与奇数链表的元素个数; 第二行依次输出偶数子链表的所有数据; 第三行依次翻译 2017-12-23 20:31:51 · 175 阅读 · 0 评论 -
SDUT 2119-数据结构实验之链表四:有序链表的归并
Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; 第二行依次输入M个有序的整数; 第三行依次输入N个有序的整数。 Output 输出合并后的单链表所包含的M+N个有序的整数。 Example Inp翻译 2017-12-23 20:15:19 · 246 阅读 · 0 评论 -
SDUT 2118-数据结构实验之链表三:链表的逆置
Problem Description 输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 Input 输入多个整数,以-1作为结束标志。 Output 输出逆置后的单链表数据。 Example Input 12 56 4 6 55 15 33 62 -1 Example Output 62 33 15 55翻译 2017-12-23 20:10:24 · 555 阅读 · 0 评论 -
SDUT 2117-数据结构实验之链表二:逆序建立链表
Problem Description 输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。 Input 第一行输入整数N;; 第二行依次输入N个整数,逆序建立单链表。 Output 依次输出单链表所存放的数据。 Example Input 10 11 3 5 27 9 12 43 16 84 22 Example Outp翻译 2017-12-23 19:58:07 · 352 阅读 · 0 评论 -
SDUT 2116-数据结构实验之链表一:顺序建立链表
Problem Description 输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。 Input 第一行输入整数的个数N; 第二行依次输入每个整数。 Output 输出这组整数。 Example Input 8 12 56 4 6 55 15 33 62 Example Output 12 56 4 6 55 15 33 62 Hi翻译 2017-12-23 19:52:46 · 510 阅读 · 0 评论 -
【链表】
//函数 建立 有头结点的 n个结点的链表 顺序; struct node * creat(int n) { struct node *tail, *p, *head1; head1 = (struct node *)malloc(sizeof(struct node)); head1 -> next = NULL; tail = head1; while(n翻译 2017-11-24 20:07:19 · 252 阅读 · 0 评论 -
【数组模拟链表(双向)】UVA - 12657 Boxes in a Line
Problem Description 给你n和m,分别对应1-n的编号,和m行操作,有四种情况1 X Y:X移动到Y的左边, 2 X Y: X移动到Y的右边, 3 X Y:交换位置, 4 反转整个编号。 代码:#include<bits/stdc++.h> using namespace std; int lt[100055];//记录i点的左边下标 int rt[100055];//记录i点翻译 2017-05-28 16:19:22 · 421 阅读 · 0 评论 -
SDUT 2054-数据结构实验之链表九:双向链表
Problem Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有一个指针指向了节点B,同时,B翻译 2017-12-23 21:02:21 · 205 阅读 · 0 评论