C语言。已知线性表中的元素以值递增有序排列,并以单链表作存储结构.写一高效算法,删除

已知线性表中的元素以值递增有序排列,并以单链表作存储结构。写一高效算法,删除
表中所有值大于mink且小于maxk的元素。
(包括源代码,输入,输出结果)

一个功能函数:

#include<stdio.h>

#include<stdlib.h>

typedef struct list{

int data;

struct list *next;

}list;

void fun(list *head,int mink ,int maxk){

list *pre,*p;

pre=head;

p=pre->next;

while(p){

if(p->data>mink&&p->data<maxk){

pre->next=p->next;

p=pre->next;

}

else{

pre=pre->next;

p=pre->next;

}

}

}

1、C语言是一门通用计算机编程语言,应用广泛。

2、C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

3、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-29
一个功能函数:
#include<stdio.h>
#include<stdlib.h>

typedef struct list{
    int data;
    struct list *next;

}list;

void fun(list *head,int mink ,int maxk){
    list *pre,*p;
    pre=head;
    p=pre->next;
    while(p){
        if(p->data>mink&&p->data<maxk){
            pre->next=p->next;
            p=pre->next;
        }
        else{
            pre=pre->next;
            p=pre->next;
        }
    }
}

本回答被提问者采纳
相似回答