Heim > Backend-Entwicklung > C++ > Hauptteil

Drucken Sie eindeutige Elemente in einem sortierten Array in C

王林
Freigeben: 2023-09-20 17:05:01
nach vorne
791 Leute haben es durchsucht

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

Drucken Sie eindeutige Elemente in einem sortierten Array in C

Beispiel

Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0}
Output: 0 2 3 4 5 6 7 8
Nach dem Login kopieren

Erklärung

Um unser Ziel zu erreichen,

  • speichern wir die verschiedenen Elemente in einem anderen Array array1.
  • Array1 sortieren.
  • Drucken Sie den Wert von Array1.

Algorithmus

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
Nach dem Login kopieren

Beispiel

#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&#39;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;
}
Nach dem Login kopieren

Ausgabe

Wenn wir das obige Programm ausführen, wird die folgende Ausgabe generiert.

0 2 3 4 5 6 7 8
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage