1 Pseudo-code
Algorithm Basics->2.1 Insert sort (small to large) ">
2 Execution Process diagram
Algorithm Basics->2.1 Insert sort (small to large) ">
3 C Language Implementation complete code
#include <stdio.h> #include <malloc.h> typedef struct myarray{int *pbase;
int length;
}myarray,*pmyarray;
Pmyarray Initmyarray ();
void Traverse (Pmyarray pmyarray);
void Insertsort (Pmyarray pmyarray);
int main () {//Initialize sorted array Pmyarray Pmyarray = Initmyarray ();
Iterate through the array printf ("array elements are: \ n");
Traverse (Pmyarray);
Sort Insertsort (Pmyarray);
Iterate over the array printf ("\ n array elements are: \ n");
Traverse (Pmyarray);
return 1;
};
Insert sort void Insertsort (Pmyarray pmyarray) {if (pmyarray->length <= 0) {printf ("array length is 0, sort failed");
} else if (pmyarray->length = = 1) {}else{int j = 1;
for (; J < (Pmyarray->length); j + +) {;
int key = * (Pmyarray->pbase +j);
int i = j-1; while (i >= 0 && * (pmyarray->pbase + i) > key) {* (pmyarray->pbase + i + 1) = *
(Pmyarray->pbase + i);
i--; } * (Pmyarray->pbase + i + 1) = key;
}
}
};
Traversing array void traverse (Pmyarray pmyarray) {int i;
for (i = 0; i < pmyarray->length;i++) {printf ("%d", * (Pmyarray->pbase + i));
}}//Initialize array Pmyarray Initmyarray () {//initialize parameter int lengh;
printf ("Number of inputs needed to sort:");
scanf ("%d", &lengh);
Initialize struct Pmyarray Pmyarray = (MyArray *) malloc (sizeof (MyArray));
if (Pmyarray = = NULL) {printf ("Insufficient memory, initialization Pmyarray failed");
Exit (1);
} pmyarray->length = Lengh;
Pmyarray->pbase = (int *) malloc (sizeof (int) *lengh);
int i = 0;
for (; i < pmyarray->length; i++) {printf ("Please enter the value of%d elements:", i);
int value;
scanf ("%d", &value);
* (pmyarray->pbase +i) = value;
} return Pmyarray;
}