Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define NUM 10
- void initialize_index(int index[], int n){
- int i;
- for (i=0;i<n;i++)
- index[i] = i;
- }
- void pprint(int A[], int n){
- int i;
- for (i=0;i<n;i++){
- printf("%d ", A[i]);
- }
- printf("\n");
- }
- void pprint_index(int A[], int index[], int n){
- int i;
- for (i=0;i<n;i++){
- printf("%d ", A[index[i]]);
- }
- printf("\n");
- }
- void swap(int* elem1, int* elem2){
- int temp;
- temp = *elem1;
- *elem1 = *elem2;
- *elem2 = temp;
- }
- void sort_using_index(int A[], int index[], int n){
- int i, j;
- for (i=0;i<=n-2;i++){
- for(j=0;j<=n-2-i;j++){
- if (A[index[j+1]] < A[index[j]])
- swap(&index[j],&index[j+1]);
- }
- }
- }
- int main(int argc, char** argv) {
- int A[NUM]={2, 10, 6, 5, 1, 9, 3, 7, 4, 8};
- int index[NUM];
- printf("Arreglo original:\n");
- pprint(A,NUM);
- initialize_index(index, NUM);
- sort_using_index(A, index, NUM);
- printf("Arreglo ordenado:\n");
- pprint_index(A,index, NUM);
- return (EXIT_SUCCESS);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement