• <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>

            天之道

            享受編程的樂趣。
            posts - 118, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            動態創建順序表,刪除打印操作

            Posted on 2012-03-01 01:41 hoshelly 閱讀(347) 評論(0)  編輯 收藏 引用 所屬分類: DS && Algorithm
            要求:順序表初始長度為10,向順序表中輸入15個整數,并打印出來;再刪除順序表中的第5個元素,打印出刪除后的結果。
            #include<stdio.h>
            #include
            <conio.h>
            #include
            <stdlib.h>
            #define MaxSize 10
            typedef 
            int ElemType;
            typedef 
            struct{
                
            int *elem;
                
            int length;
                
            int listsize;
            } Sqlist;
            //初始化一個順序表
            void initSqlist(Sqlist *L)
            {
                L
            ->elem=(int*)malloc(MaxSize*sizeof(ElemType));
                
            if(!L->elem) exit(0);
                L
            ->length=0;
                L
            ->listsize=MaxSize;
            }

            void InsertElem(Sqlist *L,int i,ElemType item){
                ElemType 
            *base,*insertPtr,*p;
                
            if(i<1||i>L->length+1)exit(0);
                
            if(L->length>=L->listsize)
                {
                    
            base=(ElemType*)realloc(L->elem,(L->listsize+10)*sizeof(ElemType));
                    L
            ->elem=base;
                    L
            ->listsize=L->listsize+100;
                }
                insertPtr
            =&(L->elem[i-1]);
                
            for(p=&(L->elem[L->length-1]);p>=insertPtr;p--)
                    
            *(p+1)=*p;
                
            *insertPtr=item;
                L
            ->length++;
            }

            void DelElem(Sqlist *L,int i)
            {
                ElemType 
            *delItem,*q;
                
            if(i<1||i>L->length) exit(0);
                delItem
            =&(L->elem[i-1]);
                q
            =L->elem+L->length-1;
                
            for(++delItem;delItem<=q;++delItem)*(delItem-1)=*delItem;
                L
            ->length--;
            }

            void main()
            {
                Sqlist l;
                
            int i;
                initSqlist(
            &l);
                
            for(i=0;i<15;i++)
                    InsertElem(
            &l,i+1,i+1);
                printf(
            "\nThe content of the list is\n");
                
            for(i=0;i<l.length;i++)
                    printf(
            "%d",l.elem[i]);
                DelElem(
            &l,5);
                printf(
            "\nDelete the fifth element\n");
                
            for(i=0;i<l.length;i++)
                    printf(
            "%d",l.elem[i]);
                getche();
            }
            俺来也俺去啦久久综合网| 久久久精品久久久久特色影视| 青青草国产97免久久费观看| 久久久青草青青国产亚洲免观| 亚洲国产成人久久综合碰| 精品国产日韩久久亚洲 | 久久久久中文字幕| 久久激情五月丁香伊人| 99久久这里只精品国产免费| 久久婷婷国产综合精品| 久久久久成人精品无码| 热re99久久精品国99热| 久久亚洲精品无码播放| 国内精品久久久久影院一蜜桃| 久久亚洲精品无码观看不卡| 久久久久一区二区三区| 亚洲人成伊人成综合网久久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久精品无码一区二区无码| 久久se这里只有精品| 久久发布国产伦子伦精品| 久久夜色精品国产www| 久久免费视频观看| 精品精品国产自在久久高清| 久久亚洲国产最新网站| 久久精品一区二区影院| 伊人久久免费视频| 青青青伊人色综合久久| 久久国产色AV免费看| 亚洲AV日韩精品久久久久| 亚洲国产精品成人AV无码久久综合影院 | 99久久99久久久精品齐齐 | 久久99国产精品久久久| 欧美一区二区三区久久综合| 99久久精品免费看国产一区二区三区| 久久国产综合精品五月天| 国产成人久久久精品二区三区 | 亚洲人AV永久一区二区三区久久| 久久www免费人成精品香蕉| 国产精品欧美久久久久天天影视| 精品久久久久久久久久中文字幕 |