ノートを整理リプレイC言語学習(7)

週7:配列の操作

C言語の学習ノート

ノートのこのシリーズは、ノートの取り方や、自分の結論のいくつかの「言語-Cをプログラミング入門」、複雑なディスクムーのクラスの先生ウェン甲斐浙江大学を学ぶことです。(もちろんビデオスクリーンショットからの記事のスクリーンショットの一部)

コースは、リンクします。https://www.icourse163.org/learn/ZJU-199001 TID = 1206771253#/学ぶ/コンテンツを?

7.1 配列の操作

7.1.1 配列の操作

アレイは広く、検索に使用されています。検索は現在、非常に重要なアプリケーションです。

  1. 統合された配列の初期化:

我々は、配列a [0] = 2、他の12桁の自動ゼロ充填を得ます。

  1. だから、私たちは、アレイがすべてに初期化したい場合は0、我々は実際には、直接ではなく、サイクルを行う行くことができます

CNT [ 番号] = {0} ;全てに初期化します0  

  1. 統合された初期の位置決め

EG2:INT [10] = {[0] = 2、[2] = 3,6、};

それが与えることである[ 0 割り当て] 2 ; A [ 2 割り当て] 3 ;に[ 3 ]の割り当ての6、0に残りの補数。

  1. nは初期化データに位置指定されました
  2. データはの前の接触位置の後ろに配置されていないいいえ
  3. ゼロパディング他の場所の価値
  4. 配列のサイズを与えられないかもしれない、コンパイラ・カウントを聞かせて
  5. 疎な配列の初期化データのために特に適し
  1. 配列のサイズを取得する方法?

SIZEOF 何バイト結果の配列を占めています。

sizeofを表示するため%のLU後の結果

 sizeof()/はsizeof( [0])は、配列要素が占めます

利点:最初の配列データは、横断コードを変更せずに、修正するたら。

  2.アレイの割り当て

ないint型B [] = A

配列変数自体が割り当てることができません。別の配列への配列のすべての要素を入れて、あなたが通過しなければなりません。

これは別の配列、他の方法に割り当てられた配列を置くための唯一の方法です。

 前記アレイは、関数に渡さ

  1. パラメータとして配列は、] [において与えられ、常にアレイ、ライトだけの大きさではないA [] ;(下のスクリーンショットに示すように)
  2. 関数内で利用することができないのsizeof 計算する配列の要素数を
  3. 私たちはしばしば、それが関数に渡され、配列のサイズは、他のパラメータとの主な機能は良いです計算する必要があります。(図1のように。長さ)

7.1.2 配列の例は:どのように数が素数でない場合に言うとプライムテーブルを確立するには?三つの方法。

この方法の一つ:

方法2:のみよりテストする必要があり、X は、小さい素数分割することができない。素数テーブルアレイを使用して確立します

方法3:素数のテーブルには、設定します

擬似コード:

 

添字が範囲外にあるかどうかについての二つの小さな質問:

  1.  

7.2 検索

7.2.1 線形検索

これは重要です!

基本的な方法:トラバース(検索リニアと呼ばれています)

7.2.2 検索の例

データ構造:ハッシュテーブルのハッシュテーブル

构造两个数组,我们在第一个数组中用一个值10得到下标是2,再用这个下标去第二个数组中得到我们想要的结果也就是:dime

割裂的数组有什么问题?

这种程序的结构对于Cache 不友好。

我们希望把面额和名字放在一起。

7.2.3二分搜索

线性搜索最大的问题是它的效率问题。

二分搜索的前提:排好序

 

二分搜索最大的好处是:效率。 次数: log2N

1000个东西 log21000=10

 

7.3排序初步

7.3.1选择排序

如果数据是无序的怎么办?

用选择排序的算法来对它进行排序。

第一步:找出最大

第二步:交换 swap a[maxid] a[len-1]

选择排序是用来将无序的数组变为有序的数组。

发布了6 篇原创文章 · 获赞 0 · 访问量 438

おすすめ

転載: blog.csdn.net/xiaobaityq/article/details/104116961