数组去重复.c 689 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdio.h>
  2. void removeDuplicates(int arr[], int *size) {
  3. int i, j, k;
  4. for (i = 0; i < *size; ++i) {
  5. for (j = i + 1; j < *size;) {
  6. if (arr[j] == arr[i]) {
  7. for (k = j; k < *size - 1; ++k) {
  8. arr[k] = arr[k + 1];
  9. }
  10. (*size)--;
  11. } else {
  12. ++j;
  13. }
  14. }
  15. }
  16. }
  17. int main() {
  18. int n, i;
  19. scanf("%d", &n);
  20. int arr[n];
  21. for (i = 0; i < n; ++i) {
  22. scanf("%d", &arr[i]);
  23. }
  24. removeDuplicates(arr, &n);
  25. for (i = 0; i < n; ++i) {
  26. printf("%d ", arr[i]);
  27. }
  28. printf("\n");
  29. return 0;
  30. }