index sort
#include
#define SIZE 5
int main()
{
int a[SIZE] = {7, 9, 3, 51, 8};
int b[SIZE] = {0};
int i, j;
for (i = 0; i < SIZE; i++)
b[i] = i;
for (i = 0; i < SIZE - 1; i++)
for (j = 0; j < SIZE - 1 - i; j++)
if (a[b[j]] < a[b[j + 1]]) {
int temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
for (i = 0; i < SIZE; ++i) /* 3, 1, 4, 0, 2 */
printf("%d ", b[i]);
printf("\n");
for (i = 0; i < SIZE; ++i) /* 51, 9, 8, 7, 3 */
printf("%d ", a[b[i]]);
printf("\n");
return 0;
}
Thursday, July 13, 2006
Yorumlar
Isim
Email
Yorum (HTML kapali)