65191


配列を使わず、連結リスト（単方向）のみでキューのデータ構造を実装したいです。
C言語を用いて、一つのプログラムで複数の連結リストを実装することは可能でしょうか？structの定義で行き詰まってしまったので、実例も教えてくださると嬉しいです…。  
追記

[code]

    struct node1
    {   
        int data1;
        struct node1 *next1;
    };
    
    struct node2
    {   
        int data2;
        struct node2 *next2;
    };
    
[/code]

連結リストで2つのキューを実装し、2行の結果を出力したいです。上記したstructを2つ作る方法だと、enqueue,
dequeueなどの関数を作る際にそのリスト専用の関数を作らなければいけないのか？と思ってそこから手が止まってしまいました。

最終的なゴールは、配列を用いず入力Nを読み込み、評価して2つの連結リストにそれぞれ結果をストアし、その結果を順に出力することです。
配列では実装できたのですが、時間がかかりすぎてしまいます。

追記2  
要素数は最大1000000です。タイムリミットが1sのため、配列を用いたプログラムではTLEを返されてしまうので、それ以外の代替方法として連結リストを使えないかと思って質問させていただきました。

追記3  
入力の条件は、

> The first line contains the integer N. The second line contains N integers,
> a0,a1,...,aN−1. The integers are separated by a single space character. The
> third line contains N integers, b0,b1,...,bN−1. The integers are separated
> by a single space character.

となっています。  
現時点では、

[code]

    scanf("%d", &N) //入力される要素数
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N;i++){
        scanf("%d",&b[i]); //aiの範囲を指定する数bi
    
    for(i=0;i<N;i++){
        for(j=1;j<b[i];j++){
            if(//評価){
                  L[i] = (i-j) //配列に代入
            }
        }
    }
    for(i=0;i<N;i++){
        for(j=1;j<b[i];j++){
            if(//評価){
                  R[i] = (i-j) //配列に代入
            }
        }
    }
    for(i=0;i<N;i++)
        printf()//L,Rの要素をすべて出力
    
[/code]

というようなコードを書きました。これ以外の方法が思いつかなくて詰まっている状態です。スタックを使う方法も考えたのですが…


CC BY-SA 4.0
2020-03-29T01:46:03.713
65188
2020-03-29T06:44:13.483
2020-03-29T06:44:13.483
38330
38330
question
c アルゴリズム array データ構造
一つのプログラムで複数の連結リストの作成


連結リストがふたつ欲しいだけであれば、同じ struct の型を持った変数をふたつ定義すれば良いです。struct をふたつ定義する必要はありません。

[code]

    typedef struct node
    {
        int data;
        struct node * next;
    } node;
    
    ...
    
    int main()
    {
        /* ... */
        node * list1 = /* ...初期化処理... */;
        node * list2 = /* ...初期化処理... */;
        /* ... */
    }
    
    
[/code]


CC BY-SA 4.0
2020-03-29T02:31:27.340
65191
2020-03-29T02:31:27.340
19110
65188
answer