配列スペースが十分でない場合の対処方法

配列スペースが十分でない場合の対処方法

配列を定義するたびに、そのサイズを決定する必要があります。スペースが十分でない場合、それを解決するためにどのような解決策がありますか?

  1. 大きな配列を再作成してから、元のデータを1つずつ作成した新しい配列に移動します。新しい番号を追加するために、実行する操作の時間計算量が判明したため、これを行うのは面倒です。 O(n)になる
  2. 最初は、配列はスタック上に構築されて
    int * a=(int * )malloc(3 * sizeof(* a));
    いません。データが十分でない場合は、realloc()関数を直接呼び出すことができます。
int  * temp=(int * )malloc(4*sizeof(*a))//还可以做一个判定操作,判定temp是否为空
free(a);//要释放之前创建的空间
temp =a ;   

これにより、元の配列が4に拡張され
ます。3。動的リンクリストを使用します。

おすすめ

転載: blog.csdn.net/weixin_50994206/article/details/114995268