思路:首先将数组利用,冒泡排序算法排序,然后遍历整个数组,将重复数字逐一放置末尾。
具体代码如下:
#include <iostream>
//#include <stdio.h>
using namespace std;
int main()
{
int nums[10] = {1,1,2,5,4,6,9,10,15,12};
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10-i-1; j++)
{
if (nums[j]>nums[j + 1])
{
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int i = 0; i < 8; i++) {
for (int j = i + 1; j < 10; j++) {
if (nums[i] == nums[j]) {
int temp = nums[j];
for (int k = j; k < 9; k++) {
nums[k] = nums[k + 1];
}
nums[9] = temp;
break;
}
}
}
for (int i = 0; i < 10; ++i)
{
//printf("%d\n", a[i]);
cout << nums[i];
}
cout << endl;
//cout << "hello world" << endl;
system("pause");
return 0;
}
参考链接:在将重复项移到末尾时对数组进行排序?