fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. void bubbleSort(char *pStringPointers[], int size);
  7. void insertionSort(char *pStringPointers[], int size);
  8. void ArrayTest(char string[][100],int size);
  9.  
  10. void swap(char **pString1, char**pString2);
  11.  
  12. int main (int argc, const char *args[]){
  13. char *pStrings[]={"jeff", "bob","kelli","bill","joe"};
  14. char testArray[][100]={"jeff", "bob","kelli","bill","joe"};
  15. ArrayTest(testArray,5);
  16.  
  17. insertionSort(pStrings, 5);
  18.  
  19. return 0;
  20. }
  21.  
  22.  
  23. //Start Algorithms
  24.  
  25. void ArrayTest(char string[][100], int size){
  26. printf("\n\Start values:\n");
  27.  
  28. for (int i=0;i<size;i++){
  29. printf(":%s\n",string[i]);
  30. }
  31.  
  32. }
  33.  
  34.  
  35. // Bubble Sort Start
  36.  
  37. void bubbleSort(char *pStringPointers[], int size){
  38.  
  39. char unsorted=1;
  40.  
  41. while(unsorted){
  42. unsorted=0;
  43. for(int i=1;i<size;i++){
  44. if(strcmp(pStringPointers[i-1],pStringPointers[i])>0)
  45. {
  46. swap(&(pStringPointers[i-1]), &(pStringPointers[i]));
  47. unsorted=1;
  48. }
  49. }
  50. }
  51.  
  52. }
  53.  
  54. // Bubble Sort End
  55.  
  56.  
  57. // Insertion Sort Start
  58.  
  59. void insertionSort(char *pS[], int size){
  60. int i,j;
  61.  
  62. for(i=1;i<size;i++){
  63. printf("\n\nIteration Start:\n");
  64. for (int j=0;j<size;j++){
  65. printf(":%s\n",pS[j]);
  66. }
  67. j=i-1;
  68. while(j>=0&&strcmp(pS[j],pS[j+1])>0){
  69. swap(&(pS[j+1]),&(pS[j]));
  70. j--;
  71. }
  72. }
  73. printf("\n\nEnd result:\n");
  74. for (int j=0;j<size;j++){
  75. printf(":%s\n",pS[j]);
  76. }
  77. }
  78.  
  79.  
  80.  
  81. // Insertion Sort End
  82.  
  83.  
  84. //End Algorithms
  85.  
  86. void swap(char **pString1, char **pString2){
  87. char *temp=*pString1;
  88. *pString1=*pString2;
  89. *pString2=temp;
  90. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
Start values:
:jeff
:bob
:kelli
:bill
:joe


Iteration Start:
:jeff
:bob
:kelli
:bill
:joe


Iteration Start:
:bob
:jeff
:kelli
:bill
:joe


Iteration Start:
:bob
:jeff
:kelli
:bill
:joe


Iteration Start:
:bill
:bob
:jeff
:kelli
:joe


End result:
:bill
:bob
:jeff
:joe
:kelli