戦的合法输出序列判断

#include<stdio.h>int main()
{
  int n, max, temp;
  int a[10];
  printf("默认的栈的输入序列为1-N 的递增序列:\n");
  printf("请输入你要进行检验的出站元素的个数:\n");
  scanf("%d", &n);
  printf("请输入要进行检验的出栈序列:");
  int i;
  for (i = 0; i < n; i++)
  {
    scanf("%d", &a[i]);
  }
  max = a[0];
  for (i = 0; i < n; i++)
  {
    if (a[i]<a[i + 1] && max>a[i + 1])     //元素i以后所有比i小的元素应该是是递减    {
      printf("该出栈序列不合法\n");     //判断相邻元素的关系      return;       
    }
    if (a[i] < a[i + 1])    
      temp = a[i + 1];
    else      temp = a[i];          //max始终为比较的当前的最大元素    if (max < temp)
      max = temp;
  }
  printf("为合法的出战序列\n");
  return 0;
}


你可能感兴趣的:(戦的合法输出序列判断)