青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-145  評論-173  文章-70  trackbacks-0

設某線性表數據元素的類型為整型,以鏈表結構存儲線性表。試編程實現:

(1) 輸入數據元素,以先進先出形式創建單鏈表

(2) 銷毀單鏈表

(3) 線性表置空

(4) 求線性表長度

(5)在第i個數據元素前插入新的元素

(6) 刪除第i個元素

(7) 顯示線性表中的全部元素

(8) 求最大元素的值和平均值

 


#include<stdio.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>
#define ERROR     0
#define OK        1
#define OVERFLOW  -2
typedef struct LNode{
    int data;
    struct LNode *next;
}LNode,*LinkList;

int Create_List(LinkList L,int length)
{//創建一個帶表頭結點的大小為n個的單鏈表
    int i;                   
    LinkList p, tail; //聲明一定要在前面,否則會出錯
        tail=L;
    for(i=0;i<length;i++)
    {
        p=(LinkList)malloc(sizeof(LNode));
        printf("請輸入%d個數據\n",length);
        scanf("%d",&p->data);
        p->next=NULL;
        tail->next=p;
        tail=tail->next;
    }
       return OK;
}

int display_all(LinkList L,int length) //依賴于長度,可是卻不定,長度函數有問題。
{//顯示所有的數據元素
    int i;
    printf("線性表的全部數據元素如下:\n");
    for(i=0;i<length-1;i++)
    {
        printf("%d ",L->next->data);
        L=L->next;
    }
    printf("\n");
    return OK;
}

int length_L(LinkList L) //有問題
{//求得線性表的長度
    int length=0;
    LinkList p=L;
    while(p!=NULL)
    {
        ++length;
        p=p->next;
    }
    return length;
}

int ListInsert(LinkList L,int i ,int *e)
{//插入元素
    LinkList p=L,s;
    int j=0;
    while(p&&j<i-1)
    {
        p=p->next;
        ++j;
    }
     if(!p||j>i-1) return ERROR;
     s=(LinkList)malloc(sizeof(LNode));
     s->data=*e;
     s->next=p->next;
     p->next=s;
     return OK;
}
int ListDelet(LinkList L, int i)
{//刪除指定位置的結點
    LinkList p=L,q;
    int j=0;
    while(p->next&&j<i-1)  //尋找第i-1個結點
    {
        p=p->next;
        ++j;
    }
    if(!(p->next)||j>i-1) return ERROR;
    q=p->next; p->next=q->next;
    free(q);
    return OK;
}
int Destroy_L(LinkList L)   //這里會遇到一個問題,如果將頭結點free掉的話就會出錯,
                            //因為頭結點不是自己分配的,而是系統分配的,在主函數中,所以無法釋放
{
     LinkList head=L,p;
     p=head;
     if (head)
         p = head->next ;
     head = head->next ;
     while(head!=NULL)
     {
         p=head;
         head=head->next;
         free(p);
     }
     return OK;
}
int ClearList(LinkList L)
{//線性表置空
    L->next=NULL;  //將頭結點指針域置為NULL
    return OK;
}
int max_num(LinkList L)
{
    LinkList p=L->next;
    int max=0;
    while(p!=NULL)
    {
        if(max<=p->data)
            max=p->data;
        p=p->next;
    }
    return max;
}

float aver_num(LinkList L)  //注意函數名不要和變量同名,很容易出錯
{ //求出所有元素的平均值
    LinkList p=L->next;
    float average;
    int sum=0;
    int length=length_L(L);
    while(p!=NULL)
    {
        sum+=p->data;
        p=p->next;
    }
    average=(float)sum/(length-1);
    return average;
}

void main()
{
    int i,get,length,e;
    LNode L;           //創建頭結點L
    L.next=NULL;
    do{
        printf("\n");
        printf("1.輸入數據元素,以先進先出形式創建單鏈表\n");
        printf("2.銷毀單鏈表\n");
        printf("3.線性表置空\n");
        printf("4.求線性表長度\n");
        printf("5.在第i個數據元素前插入新的元素\n");
        printf("6. 刪除第i個元素\n");
        printf("7.顯示線性表中的全部元素\n");
        printf("8.求最大元素的值和平均值\n");
        printf("9.退出\n");
        printf("請輸入你選擇的操作序號\n");
        scanf("%d",&get);
        switch(get){
             case 1:
                    printf("請輸入數據元素的個數\n");
                     scanf("%d",&length);
                    Create_List(&L,length);
                    break;
             case 2:
                     Destroy_L(&L);
                     break;
             case 3:
                     ClearList(&L);
                     break;
             case 4:
                 length=length_L(&L);
                 printf("這個線性鏈表的長度(含頭結點)為%d\n",length);
                 break;
             case 5:
                 printf("請分別輸入你要插入數據的元素的位置(第i個元素之前)和值(整型)\n");
                 scanf("%d,%d",&i,&e);
                 ListInsert(&L,i,&e);
                 break;
             case 6:
                 printf("請分別輸入你要刪除數據的元素的位置(第i個元素)\n");
                 scanf("%d",&i);
                 ListDelet(&L,i);
                 break;
             case 7:
                   length=length_L(&L);
                   display_all(&L,length);
                    break;
             case 8:
                   printf("線性表中的最大元素是%d\n",max_num(&L));
                   printf("線性表中所有元素的平均值%f\n",aver_num(&L));
                    break;
             case 9:
                 break;
        }
    }while(get!=9);
            
}
posted on 2009-11-27 21:35 deercoder 閱讀(4611) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構和算法分析
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久狠狠婷婷| 亚洲精品在线电影| 日韩亚洲欧美高清| 亚洲国产欧美一区二区三区久久| 激情六月婷婷久久| 在线观看日韩欧美| 999在线观看精品免费不卡网站| 日韩视频在线一区| 亚洲伊人伊色伊影伊综合网| 性久久久久久久久久久久| 久久超碰97人人做人人爱| 免费人成网站在线观看欧美高清| 欧美国产精品久久| 夜夜狂射影院欧美极品| 香蕉成人伊视频在线观看| 久久久一区二区| 欧美日韩一区二区三区在线看| 国产精品老牛| 亚洲激情av在线| 欧美一区二区三区久久精品茉莉花 | 翔田千里一区二区| 欧美本精品男人aⅴ天堂| 欧美三区免费完整视频在线观看| 国产视频欧美| 日韩一级黄色片| 久久精品噜噜噜成人av农村| 欧美大片18| 亚洲欧美日韩精品久久| 欧美成人首页| 国模私拍一区二区三区| 亚洲一区二区三区在线看| 另类激情亚洲| 亚洲一区二区三区涩| 欧美电影在线播放| 黄色在线成人| 欧美中文字幕第一页| 亚洲精品乱码久久久久| 欧美一区激情| 国产精品无码专区在线观看| 亚洲精品国产精品久久清纯直播 | 亚洲精品麻豆| 免费观看成人| 久久久久高清| 在线亚洲一区观看| 欧美jizz19性欧美| 欧美一区二区三区成人| 欧美色网一区二区| 亚洲伦伦在线| 亚洲第一偷拍| 久久久一本精品99久久精品66| 国产精品欧美一区二区三区奶水| 99re66热这里只有精品4| 美女精品一区| 欧美专区日韩视频| 国产三级欧美三级日产三级99| 亚洲色图自拍| 日韩一级免费| 国产精品成人观看视频免费| 一区二区三区欧美日韩| 亚洲三级免费| 欧美日本韩国一区二区三区| 亚洲精品久久久久久下一站 | 亚洲高清不卡在线| 免费亚洲电影在线观看| 久久久最新网址| 亚洲电影免费观看高清完整版在线 | 一区二区日韩免费看| 欧美日韩国产在线播放网站| 日韩天堂av| 一区二区电影免费观看| 国产精品看片资源| 久久九九热免费视频| 久久精品99| 亚洲人成啪啪网站| 亚洲精品一区二区三区不| 欧美午夜精品久久久久久孕妇| 亚洲影院色在线观看免费| 亚洲无亚洲人成网站77777| 国产精品一区二区女厕厕| 久久精品视频免费| 免费观看成人www动漫视频| 日韩视频中文| 亚洲综合欧美| 亚洲成人在线免费| 亚洲免费大片| 国产一区视频观看| 亚洲国产日韩精品| 国产精品视频免费观看www| 久久日韩精品| 欧美日韩高清免费| 久久精品夜夜夜夜久久| 麻豆国产精品一区二区三区| 亚洲视频免费观看| 久久高清国产| 宅男噜噜噜66国产日韩在线观看| 亚洲摸下面视频| 最新国产乱人伦偷精品免费网站| 欧美一区久久| 欧美资源在线观看| 亚洲欧洲一二三| 在线亚洲欧美专区二区| 国际精品欧美精品| 亚洲精品一区二区三区av| 国产日韩精品久久久| 91久久午夜| 黄色成人av网站| 在线综合亚洲| 亚洲人成亚洲人成在线观看| 亚洲欧美精品suv| 日韩午夜免费视频| 久久精品导航| 性欧美video另类hd性玩具| 欧美va亚洲va香蕉在线| 久久精品一本| 国产精品久久久91| 亚洲日本电影在线| 亚洲第一福利视频| 欧美一区二区在线免费观看| 亚洲视频大全| 欧美日本韩国在线| 亚洲欧洲日本mm| 亚洲国产老妈| 久久久国产一区二区三区| 亚洲欧洲99久久| 欧美日韩午夜视频在线观看| 亚洲高清免费| 亚洲激情影院| 久久综合电影| 麻豆91精品91久久久的内涵| 国产精品综合av一区二区国产馆| 亚洲精选一区二区| aaa亚洲精品一二三区| 欧美国产精品| 亚洲国产天堂久久综合网| 亚洲国产精品尤物yw在线观看| 久久久亚洲国产天美传媒修理工| 久久免费精品视频| 一区在线播放| 欧美成人官网二区| 最新中文字幕亚洲| 亚洲一级在线观看| 国产精品麻豆成人av电影艾秋| 99视频国产精品免费观看| 亚洲色图综合久久| 国产精品美女久久久久久免费 | 亚洲天堂免费观看| 亚洲一区二区三区三| 国产精品久久久爽爽爽麻豆色哟哟 | 免费成人性网站| 亚洲国产精品v| 亚洲天堂av图片| 国产精品国产三级国产普通话三级| 亚洲网友自拍| 久久免费视频在线观看| 亚洲电影自拍| 久久亚洲不卡| 91久久亚洲| 欧美视频在线观看一区| 亚洲免费在线观看视频| 久久久夜夜夜| 亚洲日韩欧美视频| 国产精品久久久久国产精品日日| 亚洲欧美日韩国产一区二区三区| 久久久久久久久久看片| 亚洲激情亚洲| 国产精品久久久一本精品| 久久福利影视| 日韩一区二区久久| 久久中文在线| 中文高清一区| 在线欧美亚洲| 国产精品久久久久久久午夜| 午夜视频在线观看一区| 欧美国产另类| 欧美在线|欧美| 亚洲最新中文字幕| 好吊视频一区二区三区四区 | 国产精品福利在线观看网址| 久久av一区| 国产精品99久久久久久人| 欧美18av| 久久超碰97人人做人人爱| 日韩一级免费| 在线观看视频免费一区二区三区| 欧美三级视频| 久久综合图片| 香蕉成人久久| 亚洲无人区一区| 亚洲精品女av网站| 欧美在线精品免播放器视频| 亚洲伦理在线| 永久91嫩草亚洲精品人人| 国产精品免费观看在线| 欧美肥婆bbw| 久久久亚洲国产美女国产盗摄| 亚洲无限av看| 亚洲视频在线观看| 一本色道久久综合亚洲91| 亚洲日本欧美在线| 91久久在线观看|