在线等,急求:设计一个算法,判断一个单链表h的元素是否是递增的。

如题所述

typedef struct node
{ int data; /*假设结点的data域为int类型*/
struct node *next;
} /*定义数据类型*/

int justice( node *h) /*假定单链表的头指针为h*/
{ node *p;
int large, small; /*用large 和small变量分别表示后一结点和前一结点的data域*/
p=h;
if (p->next !=NULL)
{ p=p->next;
large=small=p->data;/*将第一个结点的值赋与large与small*/
}
while(p->next!=NULL|| small<=large)
{ small=large;
p=p->next;
large=p->data;
}
if(small<=large && p->next==NULL)
return(1);
/*扫描到表的最后,仍有前一结点的data域值小于后一结点的data域值,则返回真*/
else return(0);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-05-08
你可以用第二个,减去第一个。用第二个减去第一个,完了进行比较。如果越来越大,则说明是递增的。
相似回答