数组模拟链表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组模拟链表相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int a[100010], r[100010];
 6 int n, len, t;
 7 
 8 int main(){
 9     cin >> n;
10     for(int i = 1; i <= n; i ++) cin >> a[i];
11     len = n;
12     for(int i = 1; i <= n; i ++){
13         if(i != n) r[i] = i + 1;
14         else r[i] = 0;
15     }
16     len ++;
17     cin >> a[len];
18     t = 1;
19     while(t != 0){
20         if(a[r[t]] > a[len]){
21             r[len] = r[t];
22             r[t] = len;
23             break;
24         }
25         t = r[t];
26     }
27     t = 1;
28     while(t != 0){
29         cout << a[t];
30         t = r[t];
31     }
32     return 0;
33 }

 

以上是关于数组模拟链表的主要内容,如果未能解决你的问题,请参考以下文章

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段

链表及数组模拟链表

数组和链表的区别ArrayList和LinkedList的区别使用LinkedList模拟栈和队列

817. Linked List Components - LeetCode

数组模拟单向链表例题(UVa11988)

数组模拟链表