数据结构各种排序算法的课程设计实验报告(c语言版)
r.length = 0;
r.base=(char *) malloc(1000*sizeof(char));
r.stacksize = 1000;
while(!feof(fp))
for(k = 0; k < 10 ; k++) {
m = 10 - k;
for( i = m ; i < r.length; i ++ )
if(r.base[i] < r.base[i - m]) {
temp = r.base[i]; for(j = i - m ; j >= 0 && temp < r.base[j]; j -= m)
r.base[ j + m ] = r.base[j];
21 / 33
{ } r.length --; r.base --;
r.base= r.base - r.length;
fscanf(fp,\r.base++; r.length++;
if(r.length == r.stacksize ) { }
r.base= r.base - r.length;
r.base=(char *) realloc(r.base,(r.stacksize + Q) * sizeof(char)); if(!r.base) { }
r.base = r.base + r.stacksize; r.stacksize += Q;
printf(\return ;
数据结构各种排序算法的课程设计实验报告(c语言版)
r.base[ j + m ] = temp;
}
}
rewind(fp); fprintf(fp,\ fclose(fp); free(r.base);
}
8.4简单选择排序
#include
int length;
}SqList4;
void jd(FILE *fp) {
SqList4 r; int i,j ,m;
char temp;
r.base=(char *) malloc(1000*sizeof(char)); r.stacksize = 1000;
r.length = 0;
while(!feof(fp)) { fscanf(fp,\ r.base++; r.length++;
if(r.length == r.stacksize ) {
r.base= r.base - r.length;
22 / 33
数据结构各种排序算法的课程设计实验报告(c语言版)
r.base=(char *) realloc(r.base,(r.stacksize + Q) * sizeof(char)); if(!r.base) { printf(\ return ;
}
r.base = r.base + r.stacksize; r.stacksize += Q;
}
}
r.length --; r.base --;
r.base= r.base - r.length;
for ( i = 0 ; i < r.length ; i++ ) { temp=r.base[i];
for( j = i,m = j +1 ; m < r.length if(r.base[j] > r.base[m])
j = m;
r.base[i] = r.base[j]; r.base[j] = temp;
}
r.base[r.length] ='\\0'; rewind(fp);
fprintf(fp,\
fclose(fp); free(r.base);
}
8.5堆排序
#include
; m++) 23 / 33
数据结构各种排序算法的课程设计实验报告(c语言版)
char *base ; int stacksize ; int length;
}SqList5;
void HeapAdjust(char *r,int s,int m);
void dp(FILE *fp) {
SqList5 r;
int i,j; char temp,*k; r.length = 0;
r.base=(char *) malloc(1000*sizeof(char));
r.stacksize = 1000; r.base += 1;
while(!feof(fp))
{ } r.length --;
24 / 33
fscanf(fp,\r.base++; r.length++;
if(r.length == (r.stacksize - 1) ) { }
r.base= r.base - r.length - 1;
r.base=(char *) realloc(r.base,(r.stacksize + Q) * sizeof(char)); if(!r.base) { }
r.base = r.base + r.stacksize; r.stacksize += Q;
printf(\return ;
数据结构各种排序算法的课程设计实验报告(c语言版)
r.base --;
r.base= r.base - r.length - 1;
for(i = r.length / 2;i >= 1 ; --i)
HeapAdjust(r.base,i,r.length);
for(i = r.length ;i >= 2 ; --i)
{
temp = r.base[1];
r.base[1] = r.base[i];
}
k = (char *) malloc((r.length+1)*sizeof(char));
r.base[i] = temp; HeapAdjust(r.base,1,i-1);
for(i = r.length,j = 0; i >= 1; i--,j++)
k[j] = r.base[i];
k[j]='\\0'; rewind(fp);
fprintf(fp,\ fclose(fp); }
void HeapAdjust(char *r,int k,int m) {
int i,j; char x;
i=k; x=r[i]; j=2*i; while(j<=m) {
if( (j
j++;
free(k); free(r.base);
if(x>r[j]) {
25 / 33