要求:先输出中点的元素值,再输出中点左部的元素值,再输出中点右部的元素值。
递归法: 1.注意递归的出口条件 left>right;
2.只需要处理好一个问题,再用递归处理其余模式相同的小问题。
程序如下:
递归法: 1.注意递归的出口条件 left>right;
2.只需要处理好一个问题,再用递归处理其余模式相同的小问题。
程序如下:
#include <stdio.h>
#include <stdlib.h>
#define Max 100
typedef int datatype;
typedef struct {
datatype A[Max];
int size;
}List;
void creat(List * P)
{
int i=0;
int m;
printf("ÇëÊäÈëÔªËØ\n");
scanf("%d",&m);
while(m!=-1)
{
P->A[i++]=m;
P->size++;
scanf("%d",&m);
}
}
void init(List * p)
{
p->size=0;
}
void display(List A)
{
int i;
for(i=0;i<A.size;i++)
{
printf("%5d",A.A[i]);
}
}
void display1(List p,int left,int right)
{
int mid;
if(left<=rig