<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ~~~ #include<stdio.h> #include<malloc.h> #include<windows.h> typedef int elemtype; typedef struct dnode { elemtype data; struct dnode *prior; struct dnode *next; }dlinklist; void createlistf(dlinklist *&L,elemtype a[],int n) //建立雙鏈表(頭插法) { dlinklist *s; int i; L=(dlinklist *)malloc(sizeof(dlinklist)); L->prior=L->next=NULL; for(i=0;i<n;i++) { s=(dlinklist *)malloc(sizeof(dlinklist)); s->data=a[i]; s->next=L->next; if(L->next!=NULL) L->next->prior=s; L->next=s; s->prior=L; } } void creatlistr(dlinklist *&L,elemtype a[],int n) //尾插法建表 { dlinklist *s,*p; int i; L=(dlinklist *)malloc(sizeof(dlinklist)); L->prior=L->next=NULL; p=L; for(i=0;i<n;i++) { s=(dlinklist *)malloc(sizeof(dlinklist)); s->data=a[i]; s->next=p->next; p->next=s; s->prior=p; p=s; s=p->next; } } void listempty(dlinklist *L) //判斷是否為空 { if(L->next!=NULL) printf("鏈表不為空\n"); else printf("鏈表為空\n"); } int listlength(dlinklist *L) //求鏈表長度 { dlinklist *p=L; int i=0; while(p!=NULL) { i++; p=p->next; } return i-1; } void listinsert(dlinklist *&L) //插入元素 { dlinklist *p=L,*s; int i,m,a; printf("請輸入需插入元素"); scanf("%d",&a); printf("請輸入需插入元素位置"); scanf("%d",&m); if(m<0||m>listlength(L)) printf("輸入錯誤\n"); else { for(i=0;i<m-1;i++) p=p->next; s=(dlinklist *)malloc(sizeof(dlinklist)); s->data=a; s->next=p->next; s->next->prior=s; p->next=s; s->prior=p; printf("插入成功\n"); } } void listdelete(dlinklist *&L) //刪除元素 { dlinklist *p=L,*q; int i,m,t; printf("請輸入需刪除元素位置 "); scanf("%d",&m); if(m<0||m>listlength(L)) printf("輸入錯誤\n"); else { for(i=0;i<m-1;i++) p=p->next; q=p->next; p->next=q->next; q->next->prior=p; t=q->data; free(q); printf("成功刪除元素%d\n",t); } } void getelem(dlinklist *L) //取值 { dlinklist *p=L; int i=0,m; printf("請輸入取值元素 "); scanf("%d",&m); while(p!=NULL) { if(p->data==m) printf("取值成功 %d元素在第%d位\n",m,i); p=p->next; i++; } if(p=NULL) printf("沒有此元素\n"); } void locateelem(dlinklist *L) //查找 { dlinklist *p=L; int i=0,m; printf("請輸入需查找位置 "); scanf("%d",&m); if(m<=0||m>listlength(L)) printf("輸入錯誤\n"); else { for(;i<m;i++) p=p->next; printf("第%d位的元素為%d\n",m,p->data); } } void destroylist(dlinklist *&L) //銷毀鏈表 { dlinklist *p=L,*q; char m; getchar(); printf("確認要銷毀鏈表請輸入y否則不銷毀 請輸入:"); scanf("%c",&m); if(m=='y') { q=p->next; while(q!=NULL) { free(p); p=q; q=p->next; } free(p); printf("鏈表已銷毀\n"); exit(0); } printf("鏈表未銷毀\n"); } void displist(dlinklist *L) //輸出雙鏈表 { dlinklist *s; s=L->next; while(s!=NULL) { printf(" %d",s->data); s=s->next; } printf("\n"); } void main() { printf(" ****************歡迎使用雙鏈表基本運算系統****************\n"); printf(" ****************如有問題歡迎和我聯系*****************\n"); dlinklist *p; int a[5],i,m,t; printf("請選擇建表方式 1用頭插法建表,2用尾插法建表 "); scanf("%d",&t); printf("請輸入5個數\n"); for(i=0;i<5;i++) scanf("%d",&a[i]); if(t==1) createlistf(p,a,5); else if(t==2) creatlistr(p,a,5); else printf("輸入錯誤!"); printf("雙鏈表建立完畢\n"); while(1) { printf("請選擇:"); printf(" 1.輸出鏈表\n"); printf(" 2.判斷線性表(雙鏈表)是否為空\n"); printf(" 3.求線性表(雙鏈表)的長度\n"); printf(" 4.從線性表(雙鏈表)中取值\n"); printf(" 5.在線性表(雙鏈表)中查找元素\n"); printf(" 6.插入元素\n"); printf(" 7.刪除元素\n"); printf(" 8.銷毀鏈表\n"); printf(" 9.退出\n"); scanf("%d",&m); switch(m) { case 1:displist(p);break; case 2:listempty(p);break; case 3: printf("鏈表長為:%d\n",listlength(p));break; case 4:getelem(p);break; case 5:locateelem(p);break; case 6:listinsert(p);break; case 7:listdelete(p);break; case 8:destroylist(p);break; case 9:exit(0); default:printf("輸入錯誤,請重新輸入\n"); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看