设计算法,判断顺序表L中所有元素是否是非递减有序的。
创建顺序表时,数据从下标为1的数组单元开始存放;输入数据时以-1表示结束。
函数接口定义:
int isOrder(SeqList *L);
L:指向顺序表的指针
当顺序表中所有数据以非递减顺序排列时,返回1;否则返回0。
裁判测试程序样例:
#include
#include
#define MAXSIZE 20
typedef int ElemType;
typedef struct{
ElemType elem[MAXSIZE];
int length;
}SeqList;
void InitList(SeqList *L)
{
int x;
L->length=0;
scanf("%d",&x);
while(x!=-1)
{
L->elem[L->length+1]=x;
L->length++;
scanf("%d",&x);
}
}
/* 请在这里填写答案 */
int main()
{
SeqList L;
InitList(&L);
if(isOrder(&L)==0)
printf("The list is chaos.");
else
printf("The list is in order.");
return 0;
}
输入样例:
在这里给出一组输入。例如:
9 23 37 43 45 45 100 -1
输出样例:
在这里给出相应的输出。例如:
The list is in order.
int isOrder(SeqList L)
{
int i;
for(i=1;i<L->length;i++)
if(L->elem[i-1]>L->elem[i])
return 0;
return 1;
}