Last change
on this file since 685 was
134,
checked in by kane, 14 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) -- |
---|
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.