Last change
on this file since 295 was
134,
checked in by kane, 14 years ago
|
add multi write buffer in cc_xcache_v4
|
File size:
1.0 KB
|
Rev | Line | |
---|
[134] | 1 | #include "sort.h" |
---|
| 2 | #include "system.h" |
---|
| 3 | #include "stdio.h" |
---|
| 4 | |
---|
| 5 | //---- insertion sort : non adapté pour tableaux de grande taille (> 100) -- |
---|
| 6 | void 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.