单向链表建立与遍历

来源:互联网 发布:网络出租屋转让 编辑:程序博客网 时间:2024/06/06 03:35

最初的理解!

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <queue>#include <map>using namespace std;#define LL long long#define INF 0x3f3f3f3f#define PI acos(-1.0)#define E 2.71828#define MOD 1000000007#define N 1010struct node{    double v;    node *next;};int main(){    int n;    scanf("%d",&n);    struct node *p1,*p2,*head,*p;    p1 = p2 = (struct node*)malloc(sizeof(struct node));    head = NULL;    for(int i = 0; i < n; i++)    {        scanf("%lf",&p1->v);        if(i == 0)            head = p1;        else            p2->next = p1;        p2=p1;        p1 = (struct node*)malloc(sizeof(struct node));    }    free(p1);    p2->next = NULL;    double sum=0,ave,maxn=0,minn=INF;    p = head;    while(p != NULL)    {        double t = p->v;        if(maxn < t)            maxn  = t;        if(minn > t)            minn = t;        sum += t;        p = p->next;    }    printf("average = %.2lf\n",sum/n);    printf("max = %.2lf\n",maxn);    printf("min = %.2lf\n",minn);    return 0;}
0 0
原创粉丝点击