source: branches/v4/platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/sort/sort_insertion.c @ 643

Last change on this file since 643 was 134, checked in by kane, 13 years ago

add multi write buffer in cc_xcache_v4

File size: 1.0 KB
Line 
1#include "sort.h"
2#include "system.h"
3#include "stdio.h"
4
5//---- insertion sort : non adapté pour tableaux de grande taille (> 100) --
6void sort_insertion(unsigned int *base, unsigned int n) 
7{
8    /* Spécifications externes : Tri du tableau base par insertion séquentielle */
9    int i,p,j;
10    int x;
11
12    for (i = 1; i < n; i++) 
13    {
14
15#if VERBOSE_SORT
16        printf("-"); // added for debug
17#endif
18        /* stockage de la valeur en i */
19        x = base[i]; 
20 
21        /* recherche du plus petit indice p inférieur à i tel que base[p] >= base[i] */
22        for(p = 0; base[p] < x; p++);
23        /* p pointe une valeur de base supérieure à celle en i */ 
24 
25        /* décalage avant des valeurs de base entre p et i */         
26        for (j = i-1; j >= p; j--) {
27            base[j+1] = base[j]; 
28        }   
29 
30        base[p] = x; /* insertion de la valeur stockée à la place vacante */
31
32#if VERBOSE_SORT
33        printf("+"); // added for debug
34#endif
35    }
36#if VERBOSE_SORT
37    printf("\n");
38#endif
39}
Note: See TracBrowser for help on using the repository browser.