C言語を使用して挿入ソートを説明します。
並べ替えは、要素を昇順(または)降順で並べ替えるプロセスです。
並べ替えの種類
C言語には、次の5つの並べ替え手法があります-
- バブルソート(または)Exchangeソート
- 選択ソート
- 挿入ソート(または)線形ソート
- クイックソート(または)パーティション交換ソート
- マージソート(または)外部ソート
挿入ソート
挿入ソート手法を使用して要素をソートするために使用されるロジックは次のとおりです-
for(i = 1; i <= n - 1; i++){ for(j = i; j > 0 && a[j - 1] > a[j]; j--){ t = a[j]; a[j] = a[j - 1]; a[j - 1] = t; } }
説明
並べ替えられていない順序になっているいくつかの要素を考えてみましょう-
例
以下は、挿入ソート手法を使用して要素をソートするCプログラムです-
#include<stdio.h> int main() { int a[50], i,j,n,t; 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 = 1; i <= n - 1; i++){ for(j=i; j > 0 && a[j - 1] > a[j]; j--){ t = a[j]; a[j] = a[j - 1]; a[j - 1] = t; } } printf ("after insertion 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: 10 Enter the elements: 34 125 2 6 78 49 1 3 89 23 After insertion sorting the elements are: 1 2 3 6 23 34 49 78 89 125
-
ユニオンにC言語でのポインタを説明する
ユニオンはメモリロケーションと呼ばれ、さまざまなデータ型のいくつかの変数によって共有されます。 構文 構文は次のとおりです- union uniontag{ datatype member 1; datatype member 2; ---- ---- datatype member n; }; たとえば、 union sample{ int a; float b; char c; }
-
C言語でのポインタアクセスの概念を説明する
ポインタは、他の変数のアドレスを格納する変数です。 ポインタの宣言、初期化、アクセス 次のステートメントを検討してください- int qty = 179; ポインタの宣言 int *p; 「p」は、別の整数変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 int qty = 175; int *p; p= &qty; 文字列の配列内の要素にアクセスする際にポインタがどのように役立つかの例を考えてみましょう。 このプログラムでは、特定の場所に存在する要素にアクセスしようとしています。操