/***
*
*é¢ç®ï¼å·²ç¥çº¿æ§è¡¨ä¸çå
ç´ ä»¥å¼éå¢æåºæåï¼å¹¶ä»¥åé¾è¡¨ååå¨ç»æãè¯åä¸é«æçç®æ³ï¼
* å é¤è¡¨ä¸ææå¼å¤§äº mink ä¸å°äº maxk çå
ç´ ï¼è¥è¡¨ä¸åå¨è¿æ ·çå
ç´ ï¼,åæ¶éæ¾
* 被å é¤èç¹ç©ºé´ï¼å¹¶åæä½ çç®æ³çæ¶é´å¤æ度ï¼æ³¨æï¼mink å maxk æ¯ç»å®ç两个
* ååéï¼å®ä»¬çå¼å¯ä»¥å表ä¸çå
ç´ ç¸åï¼ä¹å¯ä»¥ä¸åï¼
*
****/
#include <stdio.h>
#include <stdlib.h>
#include "DynaLinkList.h"
void DelMminMax(LinkList *L, int min, int max)
{
LinkList p = (*L)->next, q = (*L), r;
while (p && p->data <= min)
{
q = p; p = p->next;
}
while ( p && p->data < max)
{
r = p; p = p->next;
q->next = p; free(r);
}
} //ç®æ³çæ¶é´å¤æ度为O(n)
int main()
{
LinkList L;
ElemType e, min, max;
InitList(&L);
printf("è¾å
¥8个å
ç´ å»ºç«çº¿æ§è¡¨L(å
ç´ éå¢æåº):\n");
for (int i=1; i<=8; i++)
{
scanf("%d", &e);
ListInsert(&L, i, e);
}
printf("表Læ¯ï¼\n");
ListTraverse(L, visit);
printf("请è¾å
¥å¾
å é¤çå
ç´ çåºé´æ¯(min,max):\n");
scanf("%d%d", &min, &max);
DelMminMax(&L,min,max);
printf("å é¤(%d,%d)ä¹é´çå
ç´ å表Læ¯ï¼\n",min,max);
ListTraverse(L, visit);
return 0;
}
温馨提示:内容为网友见解,仅供参考