So erhalten Sie den Median eines Arrays in der Sprache C

So erhalten Sie den Median eines Arrays in der Sprache C

In der C-Programmierung ist das Ermitteln des Medianwerts eines Arrays eine häufige und wichtige Aufgabe. Der Median ist ein spezieller Wert in einem Array, der das Array in zwei gleich lange Teile teilt. Wenn die Array-Länge eine ungerade Zahl ist, ist der Median das Element, das sich in der Mitte des Arrays befindet; wenn die Array-Länge eine gerade Zahl ist, ist der Median der Durchschnitt der beiden mittleren Elemente.

7So ermitteln Sie den Median eines Arrays in der Sprache C

Um den Median eines Arrays zu ermitteln, können wir die folgenden Schritte ausführen:

  1. Sortieren des Arrays: Zuerst müssen wir das gegebene Array sortieren, damit wir den Median genau ermitteln können. In der Sprache C können Sie Arrays mithilfe von Algorithmen wie Schnellsortierung, Zusammenführungssortierung oder Einfügungssortierung sortieren.

  2. Bestimmen Sie die Position des Medians: Anschließend müssen wir die Position des Medians bestimmen. Abhängig von der Parität der Array-Länge kann die Position des Medians mit der folgenden Formel berechnet werden:

  • Wenn die Array-Länge ungerade ist, beträgt die Position des Medians (Array-Länge + 1) / 2.

  • Wenn die Array-Länge eine gerade Zahl ist, sind die Positionen des Medians (Array-Länge/2) und (Array-Länge/2 + 1).

  1. Ermitteln Sie den Wert des Medians: Basierend auf der ermittelten Position des Medians können wir schließlich den Wert des Medians aus dem sortierten Array ermitteln. Wenn die Array-Länge eine ungerade Zahl ist, ist der Medianwert das Element an der Medianposition; wenn die Array-Länge eine gerade Zahl ist, ist der Medianwert der Durchschnitt der beiden mittleren Elemente.

Das Folgende ist ein Beispielcode, der das Abrufen des Medians eines Arrays implementiert:

#enthalten

//Schnelle Sorte

void quickSort(int arr[], int left, int right) {

int i = links, j = rechts;

int Pivot = arr[links + (rechts - links) / 2];

while (i <= j=“”>

while (arr[i] < Pivot) {

i++;

}

while (arr[j] > Pivot) {

J-;

}

if (i <= j=“”>

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

i++;

J-;

}

}

if (left < j) {

quickSort(arr, left, j);

}

if (i < right) {

quickSort(arr, i, right);

}

}

// Den Median des Arrays abrufen

double getMedian(int arr[], int length) {

// Array sortieren

quickSort(arr, 0, Länge - 1);

// Bestimmen Sie die Position des Medians

int medianIndex1 = Länge / 2;

int medianIndex2 = Länge / 2 - 1;

// Holen Sie sich den Medianwert

doppelter Median;

if (Länge % 2 == 0) {

median = (arr[medianIndex1] + arr[medianIndex2]) / 2,0;

} anders {

median = arr[medianIndex1];

}

Rendite-Median;

}

int main() {

int arr[] = {5, 2, 9, 1, 7, 6, 4, 3, 8};

int length = sizeof(arr) / sizeof(arr[0]);

// Den Median des Arrays abrufen

double median = getMedian(arr, length);

printf(\Der Median des Arrays ist %.2f\

\ Median);

0 zurückgeben;

}

In diesem Beispielcode sortieren wir zunächst das angegebene Array mithilfe des Schnellsortierungsalgorithmus. Anschließend wird basierend auf der Parität der Array-Länge die Position des Medians bestimmt und der Wert des Medians aus dem sortierten Array ermittelt. Schließlich rufen wir die Funktion in der Hauptfunktion auf, getMedianum den Median des Arrays abzurufen und auszudrucken.

Mit den obigen Schritten können wir leicht den Median eines Arrays in der Sprache C ermitteln. Der Median ist wichtig für die statistische Analyse und Datenverarbeitung und ermöglicht ein intuitives Verständnis der zentralen Tendenz eines Arrays. Daher ist es bei der Programmierentwicklung sehr hilfreich zu wissen, wie man den Median eines Arrays ermittelt. Ich hoffe, dieser Artikel kann Sie inspirieren!
Ein Teil des Codes wird übertragen von: https://www.wodianping.com/c/2023-08/254185.html

おすすめ

転載: blog.csdn.net/qq_42151074/article/details/132270605