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

名前または文字列の配列をソートするCプログラム


この問題では、文字列の配列が与えられます。私たちのタスクは、名前または文字列の配列をソートするcプログラムを作成することです。このプログラムは、入力で指定したすべての名前をアルファベットの昇順で並べ替えます。

問題を理解するために例を見てみましょう

入力

namesArray = ["Rishabh", "Jyoti", "Palak", "Akash"]

出力

["Akash", "jyoti", "palak", "Rishabh"]

これを解決するために、標準テンプレートライブラリのqsort()関数を使用します。整数値の並べ替えがわかっているため、ここで変更されるのは、整数値ではなく文字列を比較対象として検討していることです。

そのため、qsort()で使用されるコンパレータが変更され、strcmp()がコンパレータ内の文字列を比較するために使用されます。これを使用して、名前または文字列の配列を並べ替えることができます。

名前または文字列の配列を並べ替えるCプログラム

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int comparator(const void* str1, const void* str2) {
   if(strcmp(*(const char**)str1, *(const char**)str2) >= 0)
      return 1;
   else return 0;
}
int main() {
   const char* arr[] = {"Rishabh", "Jyoti", "Palak", "Akash"};
   int n = sizeof(arr) / sizeof(arr[0]);
   printf("\nGiven array of names: \t");
   for (int i = 0; i < n; i++) printf("%s \t", arr[i]);
      qsort(arr, n, sizeof(const char*), comparator);
   printf("\nSorted array of names: \t");
   for (int i = 0; i < n; i++)
      printf("%s \t", arr[i]);
   return 0;
}

出力

Given array of names:  Rishabh Jyoti Palak Akash
Sorted array of names: Akash   Jyoti Palak Rishabh

  1. ソートをカウントするためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、カウントソートの概念を使用して配列をソートする必要があります。 ソートのカウントは、特定の範囲のキーを処理する手法です。これには、異なるキーと値を持つオブジェクトの数を数えることが含まれます。最後に、算術計算を行って各オブジェクトの位置を取得し、出力を表示します。 次に、以下の実装のソリューションを見てみましょう- 例 def countSort(arr):    # The output character array that will have sorte

  2. Pythonプログラムでの挿入ソート

    この記事では、Python3.xでの挿入ソートの実装について学習します。またはそれ以前。 アルゴリズム ソートされた配列を各反復で拡張することにより、入力要素を反復します。 現在の要素を、並べ替えられた配列で使用可能な最大値と比較します。 現在の要素の方が大きい場合は、その要素をそのままにして次の要素に移動します。それ以外の場合は、並べ替えられた配列内で正しい位置を見つけて、配列内のその位置に移動します。 これは、並べ替えられた配列内の現在の要素よりも大きいすべての要素を右にシフトすることで実現されます。 それでは、アルゴリズムの視覚的表現を見てみましょう