C语言
解法
#include <stdio.h>
int main()
{
int inputArray[2500] = { 0 };
int i = 0;
int j = 0;
int l = 0;
while(scanf("%d", &inputArray[i]) != EOF) { i++; } int outputArray[1500] = { 0 }; outputArray[0] = inputArray[1]; for (i = 2; i < 2500; i+=2) { if (inputArray[i] == 0) { break; } for (j = 0; j < inputArray[0]; j++) { if (inputArray[i + 1] == 0) { //删除outputArray里值为inputArray[i + 1]的成员; if (inputArray[i] == outputArray[j]) { l++; for (int m = j; m < inputArray[0] - 1; m++) { outputArray[m] = outputArray[m + 1]; } j--; } } else { if (inputArray[i + 1] == outputArray[j]) { for (int k = inputArray[0] - 1; k > j; k--) { outputArray[k + 1] = outputArray[k]; } outputArray[j + 1] = inputArray[i]; } } } } for (i = 0; i < inputArray[0] - l; i++) { printf("%d ", outputArray[i]); } return 0;
}