⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy9_1_2.c

📁 数据结构实验与学习指导
💻 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 + -