📄 sy9_1_2.c
字号:
/* sy9_1_2.c */
#include "stdio.h"
#define MAXSIZE 10
typedef struct
{int elem[MAXSIZE+1];
int length;
}SL;
SL *Create_Sq(int n)
{int i;
SL *R=(SL *)malloc(sizeof(SL));
printf("\n 请输入数组元素: ");
for(i=1;i<=n;i++)
scanf("%d",&R->elem[i]);
printf("\n 数组中的数据是:\n");
for(i=1;i<=n;i++)
printf("%3d",R->elem[i]);
return R;
}
void ReSort(SL *R,int n) /*重排数组,使负值关键字在前*/
{int i=1,j=n; /*数组存放在R[1..n]中*/
while(i<j) /*i<j表示尚未扫描完毕*/
{while(i<j&&R->elem[i]<0) /*遇到负数则继续扫描*/
i++;
R->elem[0]=R->elem[i]; /*R.elem[0]为辅助空间*/
while(i<j&&R->elem[j]>=0)/*遇到正数则继续向左扫描*/
j--;
R->elem[i++]=R->elem[j];R->elem[j--]=R->elem[0];
}
}/*ReSort*/
void main()
{int n,i;
SL *R;
printf("请输入数组的长度:");
scanf("%d",&n);
R=Create_Sq(n);/*创建长度为n的顺序表*/
ReSort(R,n);
printf("\n 排序结果为:\n");
for(i=1;i<=n;i++)
printf("%3d",R->elem[i]);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -