Heim > Artikel > Backend-Entwicklung > Drucken Sie eindeutige Elemente in einem sortierten Array in C
Bei einem Array ganzzahliger Elemente besteht die Aufgabe darin, doppelte Werte zu entfernen und die unterschiedlichen Elemente sortiert auszugeben.
Unten sehen Sie ein Array, das Ganzzahlwerte in der Reihenfolge 4, 6, 5, 3, 4, 5, 2, 8, 7 und 0 speichert. Das Ergebnis ist nun 0, 2, 3, 4, 4, 5, 5, 6, 7 und 8 geben die sortierten Elemente in der Reihenfolge aus, aber dieses Ergebnis enthält immer noch die doppelten Werte 4 und 5, diese sollten entfernt werden, das Endergebnis ist 0, 2, 3, 4 , 5, 6, 7 und 8
Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0} Output: 0 2 3 4 5 6 7 8
Um unser Ziel zu erreichen,
START STEP 1: DECLARE VARIABLES i, j, array1[size], temp, count = 0 STEP 2: LOOP FOR i = 0 AND i < size AND i++ LOOP FOR j = i+1 AND j < size AND j++ IF array[i] == array[j]) then, break END IF END FOR IF j == size then, ASSIGN array1[count++] WITH array[i] END IF END FOR STEP 3: LOOP FOR i = 0 AND i < count-1 AND i++ LOOP FOR j = i+1 AND j < count AND j++ IF array1[i]>array1[j] then, SWAP array1[i] AND array[j] END IF END FOR END FOR STEP 4: PRINT array1 STOP
#include <stdio.h> /* Prints distinct elements of an array */ void printDistinctElements(int array[], int size) { int i, j, array1[size], temp, count = 0; for(i = 0; i < size; i++) { for(j = i+1; j < size; j++) { if(array[i] == array[j]) { /* Duplicate element found */ break; } } /* If j is equal to size, it means we traversed whole array and didn't found a duplicate of array[i] */ if(j == size) { array1[count++] = array[i]; } } //sorting the array1 where only the distinct values are stored for ( i = 0; i < count-1; i++) { for ( j = i+1; j < count; j++) { if(array1[i]>array1[j]) { temp = array1[i]; array1[i] = array1[j]; array1[j] = temp; } } } for ( i = 0; i < count; ++i) { printf("%d ", array1[i]); } } int main() { int array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0}; int n = sizeof(array)/sizeof(array[0]); printDistinctElements(array, n); return 0; }
Wenn wir das obige Programm ausführen, wird die folgende Ausgabe generiert.
0 2 3 4 5 6 7 8
Das obige ist der detaillierte Inhalt vonDrucken Sie eindeutige Elemente in einem sortierten Array in C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!