J'écris le tri par insertion en utilisant des chaînes. J'ai des tableaux ombles comme:initialisation de chaîne en C
char array1[4] = {'a', 'b', 'c', '\0'};
char array2[4] = {'b', 'd', 'e', '\0'};
Et je dois utiliser cette opération:
char string[2];
string[1] = array1;
string[2] = array2;
Est-il possible? Parce que dans le tri par insertion, j'ai besoin d'une chaîne de caractères. Ce est le code d'insertion:
char* insertionsort(char* a, int n) {
int k;
for (k = 1; k < n; ++k) {
int key = a[k];
int i = k - 1;
while ((i >= 0) && (key < a[i])) {
a[i + 1] = a[i];
--i;
}
a[i + 1] = key;
}
return a;
}
Vos tableaux sont trop petits - il n'y a pas d'espace pour la terminaison nulle. Utilisez plutôt 'array1 []' pour les avoir automatiquement dimensionnés. – nneonneo
Vos tableaux doivent avoir la taille '4', pas' 3'. Et 'char string [2];' était supposé être 'char * string [2]; – LihO
ok J'ai modifié – lowcosthighperformance