Все,Вставка Сортировать Ошибка C
Я, вероятно, отсутствует что-то простое, но я просматривал несколько простых алгоритмов в C и не были в состоянии получить вводную то в коде ниже, чтобы работать. Кажется, что работает пузырьковая система.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void bubbleSort(char *pStringPointers[], int size);
void insertionSort(char *pStringPointers[], int size);
void ArrayTest(char string[][100],int size);
void swap(char **pString1, char**pString2);
int main (int argc, const char *args[]){
char *pStrings[]={"jeff", "bob","kelli","bill","joe"};
char testArray[][100]={"jeff", "bob","kelli","bill","joe"};
ArrayTest(testArray,5);
insertionSort(pStrings, 5);
return 0;
}
//Start Algorithms
void ArrayTest(char string[][100], int size){
printf("\n\nIteration Start:\n");
for (int i=0;i<size;i++){
printf(":%s\n",string[i]);
}
}
// Bubble Sort Start
void bubbleSort(char *pStringPointers[], int size){
char unsorted=1;
while(unsorted){
unsorted=0;
for(int i=1;i<size;i++){
if(strcmp(pStringPointers[i-1],pStringPointers[i])>0)
{
swap(&(pStringPointers[i-1]), &(pStringPointers[i]));
unsorted=1;
}
}
}
}
// Bubble Sort End
// Insertion Sort Start
void insertionSort(char *pS[], int size){
int i,j;
for(i=1;i<size;i++){
printf("\n\nIteration Start:\n");
for (int i=0;i<size;i++){
printf(":%s\n",pS[i]);
}
char *temp2=pS[i];
j=i-1;
while(j>=0&&strcmp(pS[j],temp2)>0){
swap(&(pS[i]),&(pS[j]));
j--;
}
pS[j+1]=pS[i];
}
}
// Insertion Sort End
//End Algorithms
void swap(char **pString1, char **pString2){
char *temp=*pString1;
*pString1=*pString2;
*pString2=temp;
}
Если у вас есть предложения, пожалуйста, дайте мне знать.