Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語での並べ替えの概念を説明する


問題

ソートによってC言語での検索が簡単になるのはなぜですか? Cでのソート効率をどのように判断できますか?

解決策

並べ替えは、要素を昇順(または)降順で並べ替えるプロセスです。

  • ソートという用語は、人間がすばやく検索することの重要性を認識したときに生まれました。

  • 私たちが検索する必要のある人生にはさまざまなものがあります。データベースの特定のレコード、リストのロール番号、電話帳の番号、本の特定のページなどです。

  • データが並べ替えられていない形式で保持されていると、特定のものを検索することが困難になります。しかし、幸いなことに、並べ替えの概念が生まれ、誰もがデータを簡単に並べ替えることができるようになりました。

  • 並べ替えにより、データが順番に並べられ、検索が容易になります。

ソート効率

  • カードのデッキを順番に並べたい場合は、まずすべてのカードをチェックし、それに応じてデッキを作成していきます。

  • デッキを整理するのに時間がかかりますが、同じように配置します。しかし、コンピューターはこのようには機能しません。

  • プログラミングの時代の初めから、科学者はデータを並べ替えるためにさまざまなアルゴリズムで並べ替える問題の解決に取り組んできました。

どのアルゴリズムが他のアルゴリズムより優れているかを判断する基準は次のとおりです-

  • 指定されたデータの並べ替えにかかる時間。
  • そのために必要なメモリスペース。

以下は、データを並べ替えるためのCプログラムです-

#include<stdio.h>
int main(){
   int a[50], i,j,n,t,sm;
   printf("enter the No: of elements in the list:\n");
   scanf("%d", &n);
   printf("enter the elements:\n");
   for(i=0; i<n; i++){
      scanf ("%d", &a[i]);
   }
   for (i=0; i<n-1; i++){
      sm=i;
      for (j=i+1; j<n; j++){
         if (a[j] < a[sm]){
            sm=j;
         }
      }
      t=a[i];
      a[i]=a[sm];
      a[sm]=t;
   }
   printf ("after selection sorting the elements are:\n");
   for (i=0; i<n; i++)
      printf("%d\t", a[i]);
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

出力

enter the No: of elements in the list:
4
enter the elements:
34
12
56
7
after selection sorting the elements are:
7 12 34 56

  1. C言語でのポインタアクセスの概念を説明する

    ポインタは、他の変数のアドレスを格納する変数です。 ポインタの宣言、初期化、アクセス 次のステートメントを検討してください- int qty = 179; ポインタの宣言 int *p; 「p」は、別の整数変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 int qty = 175; int *p; p= &qty; 文字列の配列内の要素にアクセスする際にポインタがどのように役立つかの例を考えてみましょう。 このプログラムでは、特定の場所に存在する要素にアクセスしようとしています。操

  2. C#でクラスの概念を説明する

    クラスは、C#の必須タイプの1つです。クラスは、問題のドメインに関連するオブジェクトの青写真と考えることができます。これは、オブジェクトを作成するためのテンプレートであり、このクラスから作成されたオブジェクトのセットによって共有される構造と動作を定義します。簡単に言うと、クラスはCookieカッターであり、オブジェクトはCookie自体です。 クラスは、オブジェクト指向プログラミングの重要な概念であるカプセル化も可能にします。これは、データとデータを処理する操作を1か所で組み合わせ、そのオブジェクトのユーザーにシンプルなAPIを提供することを意味します。クラスを使用すると、データをカプセル化