版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 緒論例: 計(jì)算f=1!+2!+3!+n!,用c語(yǔ)言描述。void factorsum(n)int n;int i,j;int f,w;f=0;for (i=1;i=n;i+)w=1;for (j=1;j=i;j+)w=w*j;f=f+w;return;第二章 線性表p16【算法2.1 順序表的插入】int insert(elemtype list,int *num,int i,elemtype x)/*在順序表list中,*num為表尾元素下標(biāo)位置,在第i個(gè)元素前插入數(shù)據(jù)元素x,若成功,返回true,否則返回false。*/int j; if (i*num+1) printf(“err
2、or!”); /*插入位置出錯(cuò)*/ return false; if (*num=maxnum-1) printf(“overflow!”); return false; /*表已滿*/for (j=*num;j=i;j-)listj+1=listj; /*數(shù)據(jù)元素后移*/listi=x; /*插入x*/(*num)+; /*長(zhǎng)度加1*/return true;p18【算法2.2 順序表的刪除】int delete(elemtype list,int *num,int i)/*在線性表list中,*num為表尾元素下標(biāo)位置,刪除第i個(gè)長(zhǎng)度,線性表的長(zhǎng)度減1,若成功,則返回true;否則返回fa
3、lse。*/int j;if(i*num)printf(“error!”); return false; /*刪除位置出錯(cuò)!*/ for(j=i+1;j=*num;j+) listj-1=listj; /*數(shù)據(jù)元素前移*/ (*num)-; /*長(zhǎng)度減1*/return true; p19 例:將有序線性表la=2,4,6,7,9,lb=1,5,7,8,合并為lc=1,2,4,5,6,7,7,8,9。void merge(elemtype la,elemtype lb,elemtype *lc) int i,j,k; int la_length,lb_length; i=j=0;k=0; la
4、_length=length(la);lb_length=length(lb);/*取表la,lb的長(zhǎng)度*/ initiate(lc); /*初始化表lc*/ while (i=la_length&j=lb_length) a=get(la,i);b=get(lb,j); if(ab) insert(lc,+k,a);+i; else insert(lc,+k,b);+j; /*將la和lb的元素插入到lc中*/while (i=la_length) a=get(la,i);insert(lc,+k,a);while (jnext=null; return true; p22 【算法2.4 單
5、鏈表的后插入】 s=(slnodetype*)malloc(sizeof(slnodetype); s-data=x; s-next=p-next;p-next=s;p22 【算法2.5 單鏈表的結(jié)點(diǎn)插入】q=head; while(q-next!=p) q=q-next; s=(slnodetype*)malloc(sizeof(slnodetype); s-data=x; s-next=p; q-next=s;p23【算法2.6 單鏈表的前插入】int insert(slnodetype *h,int i,elemtype x)/*在鏈表h中,在第i個(gè)數(shù)據(jù)元素前插入一個(gè)數(shù)據(jù)元素x */ s
6、lnodetype *p,*q,*s; int j=0; p=h; while(p!=null&jnext;j+; /*尋找第i-1個(gè)結(jié)點(diǎn)*/ if ( j!=i-1) printf(“error!”);return false; /*插入位置錯(cuò)誤*/ if (s=(slnodetype*)malloc(sizeof(slnodetype)=null) return false; s-data=x; s-next=p-next; q-next=s; return true;p23例:下面c程序中的功能是,首先建立一個(gè)線性鏈表head=3,5,7,9,其元素值依次為從鍵盤(pán)輸入正整數(shù)(以輸入一個(gè)非
7、正整數(shù)為結(jié)束);在線性表中值為x的元素前插入一個(gè)值為y的數(shù)據(jù)元素。若值為x的結(jié)點(diǎn)不存在,則將y插在表尾。#include “stdlib.h”#include “stdio.h”struct slnodeint data;struct slnode *next; /*定義結(jié)點(diǎn)類(lèi)型*/main()int x,y,d;struct slnode *head,*p,*q,*s; head=null; /*置鏈表空*/ q=null; scanf(“%d”,&d); /*輸入鏈表數(shù)據(jù)元素*/ while(d0) p=(struct slnode*)malloc(sizeof(struct slnode
8、); /*申請(qǐng)一個(gè)新結(jié)點(diǎn)*/ p-data=d; p-next=null; if(head=null) head=p; /*若鏈表為空,則將頭指針指向當(dāng)前結(jié)點(diǎn)p*/ else q-next=p; /*鏈表不為空時(shí),則將新結(jié)點(diǎn)鏈接在最后*/ q=p; /*將指針q指向鏈表的最后一個(gè)結(jié)點(diǎn)*/ scanf(“%d”,&d); scanf(“%d,%d”,&x,&y); s=(struct slnode*)malloc(sizeof(struct slnode); s-data=y; q=head;p=q-next; while(p!=null)&(p-data!=x) q=p;p=p-next; /
9、*查找元素為x的指針*/ s-next=p;q-next=s; /*插入元素y*/p24【算法2.7 單鏈表的刪除】int delet(slnodetype *h,int i) /*在鏈表h中刪除第i個(gè)結(jié)點(diǎn)*/ slnodetype *p,*s; int j; p=h;j=0; while(p-next!=null&jnext;j=j+1; /*尋找第i-1個(gè)結(jié)點(diǎn),p指向其前驅(qū)*/ if(j!=i-1) printf(“error!”); /*刪除位置錯(cuò)誤!*/ return false; s=p-next; p-next=p-next-next; /*刪除第i個(gè)結(jié)點(diǎn)*/ free(s); /
10、*釋放被刪除結(jié)點(diǎn)空間*/ return true;p25例:假設(shè)已有線性鏈表la,編制算法將該鏈表逆置。void converse(slnodetype *head)slnodetype *p,*q; p=head-next; head-next=null; while(p!=null) q=p-next; p-next=head-next; head-next=p; p=q; p27例:將兩個(gè)循環(huán)鏈表首尾相接。la為第一個(gè)循環(huán)鏈表表尾指針,lb為第二個(gè)循環(huán)鏈表表尾指針。合并后lb為新鏈表的尾指針。void merge(slnodetype *la,slnodetype *lb) slnode
11、type *p; p=la-next; lb-next= la-next; la-next=p-next; free(p); p29【算法2.8 雙向鏈表的插入】int insert_dul(dlnodetype *head,int i,elemtype x)/*在帶頭結(jié)點(diǎn)的雙向鏈表中第i個(gè)位置之前插入元素x*/ dlnodetype *p,*s; int j; p=head; j=0; while (p!=null&jnext; j+; if(j!=i|idata=x;s-prior=p-prior; /*圖中步驟*/p-prior-next=s; /*圖中步驟*/s-next=p; /*圖
12、中步驟*/p-prior=s; /*圖中步驟*/return true;p30【算法2.9 雙向鏈表的刪除】int delete_dl(dlnodetype *head,int i) dlnodetype *p,*s; int j; p=head; j=0; while (p!=null&jnext; j+; if(j!=i|iprior-next=p-next;/*圖中步驟*/p-next-prior=p-prior;/*圖中步驟*/free(s);return true;p32【算法2.10 多項(xiàng)式相加】struct poly *add_poly(struct poly *ah,struc
13、t poly *bh)struct poly *qa,*qb,*s,*r,*ch;qa=ah-next;qb=bh-next;/*qa和qb分別指向兩個(gè)鏈表的第一結(jié)點(diǎn)*/r=qa;ch=ah;/*將鏈表ah作為相加后的和鏈表*/while(qa!=null&qb!=null) /*兩鏈表均非空*/ if (qa-exp=qb-exp) /*兩者指數(shù)值相等*/ x=qa-coef+qb-coef; if(x!=0) qa-coef=x;r-next=qa;r=qa; s=qb+;free(s);qa+; /*相加后系數(shù)不為零時(shí)*/ else s=qa+;free(s);s=qb+;free(s)
14、; /*相加后系數(shù)為零時(shí)*/ else if(qa-expexp) r-next=qa;r=qa;qa+; /*多項(xiàng)式ah的指數(shù)值小*/ else r-next=qb;r=qb;qb+; /*多項(xiàng)式bh的指數(shù)值小*/if(qa=null) r-next=qb; else r-next=qa; /*鏈接多項(xiàng)式ah或bh中的剩余結(jié)點(diǎn)*/return (ch);第三章 棧和隊(duì)列p35相應(yīng)的c語(yǔ)言函數(shù)是:float fact(int n)float s; if (n= =0|n= =1) s=1; else s=n*fact(n-1); return (s); p38用c語(yǔ)言定義的順序存儲(chǔ)結(jié)構(gòu)的棧如下
15、:# define maxnum typedef struct elemtype stackmaxnum;int top; sqstack;p39【算法3.1 棧的初始化】int initstack(sqstack *s)/*創(chuàng)建一個(gè)空棧由指針s指出*/ if (s=(sqstack*)malloc(sizeof(sqstack)= =null) return false; s-top= -1;return true;p39【算法3.2 入棧操作】int push(sqstack *s, elemtype x)/*將元素x插入到棧s中,作為s的新棧頂*/ if(s-top=maxnum-1)
16、return false; /*棧滿*/ s-top+; s-stacks-top=x;return true;p39【算法3.3 出棧操作】elemtype pop(sqstack *s)/*若棧s不為空,則刪除棧頂元素*/elemtype x; if(s-topstacks-top; s-top-;return x;p39【算法3.4 取棧頂元素】elemtype gettop(sqstack *s)/*若棧s不為空,則返回棧頂元素*/ if(s-topstacks-top); p40【算法3.5 判??詹僮鳌縤nt empty(sqstack *s)/*棧s為空時(shí),返回為true;非空時(shí)
17、,返回為false*/ if(s-toptop= -1;p40 c語(yǔ)言定義的這種兩棧共享鄰接空間的結(jié)構(gòu)如下:typedef struct elemtype stackmaxnum; int lefttop; /*左棧棧頂位置指示器*/ int righttop; /*右棧棧頂位置指示器*/ dupsqstack;p41【算法3.7 共享?xiàng)5某跏蓟縤nt initdupstack(dupsqstack *s)/*創(chuàng)建兩個(gè)共享鄰接空間的空棧由指針s指出*/ if (s=(dupsqstack*)malloc(sizeof(dupsqstack)= =null) return false; s-l
18、efttop= -1;s-righttop=maxnum;return true;p41【算法3.8 共享?xiàng)5娜霔2僮鳌縤nt pushdupstack(dupsqstack *s,char status,elemtype x)*把數(shù)據(jù)元素x壓入左棧(status=l)或右棧(status=r)*/ if(s-lefttop+1= =s-righttop) return false; /*棧滿*/ if(status=l) s-stack+s-lefttop=x; /*左棧進(jìn)棧*/ else if(status=r) s-stack-s-righttop=x; /*右棧進(jìn)棧*/ else re
19、turn false; /*參數(shù)錯(cuò)誤*/return true;p42【算法3.9 共享?xiàng)5某鰲2僮鳌縠lemtype popdupstack(dupsqstack *s,char status)/*從左棧(status=l)或右棧(status=r)退出棧頂元素*/ if(status= =l) if (s-lefttopstacks-lefttop-); /*左棧出棧*/ else if(status= =r) if (s-righttopmaxnum-1) return null; /*右棧為空*/else return (s-stacks-righttop+); /*右棧出棧*/ el
20、se return null; /*參數(shù)錯(cuò)誤*/p42鏈棧的c語(yǔ)言定義為:typedef struct stacknode elemtype data;struct stacknode *next;slstacktype;p43【算法3.10 單個(gè)鏈棧的入棧操作】int pushlstack(slstacktype *top,elemtype x)/*將元素x壓入鏈棧top中*/slstacktype *p;if(p=(slstacktype *)malloc(sizeof(slstacktype)= =null) return false;/*申請(qǐng)一個(gè)結(jié)點(diǎn)*/p-data=x; p-next
21、=top; top=p; return true;p43【算法3.11 單個(gè)鏈棧的出棧操作】elemtype poplstack(slstacktype *top)/*從鏈棧top中刪除棧頂元素*/slstacktype *p;elemtype x;if (top= =null) return null;/*空棧*/p=top; top=top-next; x=p-data;free(p);return x;p44【算法3.12 多個(gè)鏈棧的入棧操作】int pushdupls(slstacktype *topm,int i,elemtype x)/*將元素x壓入鏈棧topi中*/slstack
22、type *p;if(p=(slstacktype *)malloc(sizeof(slstacktype)= =null) return false; /*申請(qǐng)一個(gè)結(jié)點(diǎn)*/p-data=x; p-next=topi; topi=p; return true;p44【算法3.13 多個(gè)鏈棧的出棧操作】elemtype popdupls(slstacktype *topm,int i)/*從鏈棧topi中刪除棧頂元素*/slstacktype *p;elemtype x;if (topi= =null) return null; /*空棧*/p=topi; topi=topi-next; x=p
23、-data;free(p);return x;p47【算法3.14 中綴表達(dá)式變?yōu)楹缶Y表達(dá)式】# define maxnum 40# define false 0# define true 1#include stdio.h#include stdlib.h#include string.h typedef struct char stackmaxnum; int top; sqstack; int initstack(sqstack *s)/*初始化棧*/ s-top=-1;return true;int push(sqstack *s,char x)/*將元素x插入到棧s中,作為s的新棧頂
24、*/ if(s-top=maxnum-1) return false; /*棧滿*/ s-top+;s-stacks-top=x;return true;char pop(sqstack *s)/*若棧s不為空,則刪除棧頂元素*/char x; if(s-topstacks-top;s-top-;return x;char gettop(sqstack *s)/*若棧s不為空,則返回棧頂元素*/ if(s-topstacks-top);char precede(char x1,char x2)/*比較運(yùn)算符x1與x2的優(yōu)先*/char result=;else if(x1=(&x2=)|x1=
25、#&x2=#) result=;else if (x1=)&x2=(|x1=#&x2=) result= ; return result; main() sqstack *optr; char s80,c,y; int i=0; optr=(sqstack *)malloc(sizeof(sqstack); gets(s); initstack(optr); push(optr,#); c=si; while(c!=#|gettop(optr)!=#) if(c!=+&c!=-&c!=*&c!=/&c!=(&c!=)&c!=#) printf(%c,c);c=s+i; if(c=0) brea
26、k; else switch (precede(gettop(optr),c) case :y=pop(optr); printf(%c,y); break; printf(%c,#);p51 用c語(yǔ)言定義的順序存儲(chǔ)結(jié)構(gòu)的隊(duì)列如下:# define maxnum typedef struct elemtype queuemaxnum; int front; /*隊(duì)頭指示器*/ int rear; /*隊(duì)尾指示器*/ sqqueue;p51【算法3.15 順序隊(duì)列的初始化】int initqueue(sqqueue *q)/*創(chuàng)建一個(gè)空隊(duì)列由指針q指出*/ if (q=(sqqueue*)mal
27、loc(sizeof(sqqueue)= =null) return false; q-front= -1; q-rear=-1;return true;p52【算法3.16 順序隊(duì)列的入隊(duì)列操作】int append(sqqueue *q,elemtype x)/*將元素x插入到隊(duì)列q中,作為q的新隊(duì)尾*/ if(q-rear=maxnum-1) return false; /*隊(duì)列滿*/ q-rear+;q-queueq-rear=x;return true;p52【算法3.17 順序隊(duì)列的出隊(duì)列操作】elemtype delete(sqqueue *q)/*若隊(duì)列q不為空,則返回隊(duì)頭元素
28、*/elemtype x;if(q-rear= =q-front) return null; /*隊(duì)列空*/x=q-queue+q-front; return x;p52【算法3.18 順序隊(duì)列的取頭元素操作】elemtype gethead(sqqueue *q)/*若隊(duì)列q不為空,則返回隊(duì)頭元素*/ if(q-rear= =q-front) return null; /*隊(duì)列空*/return (q-queues-front+1); p52【算法3.19 順序隊(duì)列的非空判斷操作】int empty(sqqueue *q)/*隊(duì)列q為空時(shí),返回true;否則返回false*/ if (q-r
29、ear= =q-front) return true; return false;p53【算法3.20 順序隊(duì)列的求長(zhǎng)度操作】int length(sqqueue *q)/*返回隊(duì)列q的元素個(gè)數(shù)*/ return(q-rear-q-front);p54用c語(yǔ)言定義循環(huán)隊(duì)列結(jié)構(gòu)如下:typedef structelemtype queuemaxnum;int front; /*隊(duì)頭指示器*/int rear; /*隊(duì)尾指示器*/int s; /*隊(duì)列標(biāo)志位*/qqueue;p54【算法3.21 循環(huán)隊(duì)列的初始化】int initqueue(qqueue *q)/*創(chuàng)建一個(gè)空隊(duì)列由指針q指出*/
30、if (q=(qqueue*)malloc(sizeof(qqueue)= =null) return false; q-front= maxnum; q-rear=maxnum;q-s=0;/*置隊(duì)列空*/return true;p55【算法3.22 循環(huán)隊(duì)列的入隊(duì)列操作】int append(qqueue *q,elemtype x)/*將元素x插入到隊(duì)列q中,作為q的新隊(duì)尾*/if ( q-s= =1)&(q-front= =q-rear) return false;/*隊(duì)列滿*/ q-rear+; if (q-rear= =maxnum) q-rear=0; q-queueq-rear
31、=x; q-s=1; /*置隊(duì)列非空*/return true;p55【算法3.23 循環(huán)隊(duì)列的出隊(duì)列操作】elemtype delete(qqueue *q)/*若隊(duì)列q不為空,則返回隊(duì)頭元素*/elemtype x;if (q-s= =0) retrun null; /*隊(duì)列為空*/q-front+;if (q-front= =maxnum) q-front=0;x=q-queueq-front;if (q-front = =q-rear) q-s=0; /*置隊(duì)列空*/ return x; p56 用c語(yǔ)言定義鏈隊(duì)列結(jié)構(gòu)如下:typedef struct qnodeelemtype da
32、ta;struct qnode *next;qnodetype; /*定義隊(duì)列的結(jié)點(diǎn)*/typedef struct qnodetype *front;/*頭指針*/qnodetype *rear; /*尾指針*/lqueue;p56【算法3.24 鏈隊(duì)列的初始化】int initlqueue(lqueue *q)/*創(chuàng)建一個(gè)空鏈隊(duì)列q*/ if (q-front=(qnodetype*)malloc(sizeof(qnodetype)= =null) return false; q-rear=q-front;q-front-next=null; return true;p56【算法3.25
33、鏈隊(duì)列的入隊(duì)列操作】int lappend(lqueue *q,elemtype x)/*將元素x插入到鏈隊(duì)列q中,作為q的新隊(duì)尾*/qnodetype *p;if (p=(qnodetype*)malloc(sizeof(qnodetype)= =null) return false;p-data=x;p-next=null; /*置新結(jié)點(diǎn)的指針為空*/q-rear-next=p; /*將鏈隊(duì)列中最后一個(gè)結(jié)點(diǎn)的指針指向新結(jié)點(diǎn)*/q-rear=p; /*將隊(duì)尾指向新結(jié)點(diǎn)*/return true;p57【算法3.26 鏈隊(duì)列的出隊(duì)列操作】elemtype ldelete(lqueue *q)/
34、*若鏈隊(duì)列q不為空,則刪除隊(duì)頭元素,返回其元素值*/elemtype x;qnodetype *p;if(q-front-next= =null) return null; /*空隊(duì)列*/p=q-front-next; /*取隊(duì)頭*/q-front-next=p-next; /*刪除隊(duì)頭結(jié)點(diǎn)*/x=p-data;free(p);return x;第四章 串p62 用字符數(shù)組存放字符串時(shí),其結(jié)構(gòu)用c語(yǔ)言定義如下:#define maxnum typedef struct char strmaxnum; int length; /*串長(zhǎng)度*/ stringtype; /* 串類(lèi)型定義*/p62 用
35、鏈表存放字符串時(shí),其結(jié)構(gòu)用c語(yǔ)言定義如下:typedef struct nodechar str;struct node *next; slstrtype;p63 用塊鏈存放字符串時(shí),其結(jié)構(gòu)用c語(yǔ)言定義如下:typedef struct nodechar str4;struct node *next; slstrtype;p63 用堆存放字符串時(shí),其結(jié)構(gòu)用c語(yǔ)言定義如下:typedef structchar *str;int length; hsstrtype;p65 c語(yǔ)言中用字符數(shù)組存儲(chǔ)字符串時(shí),結(jié)構(gòu)定義如下:#define maxnum 80typedef struct char str
36、maxnum; int length; /*串長(zhǎng)度*/ stringtype; /* 串類(lèi)型定義*/p65【算法4.1 在靜態(tài)存儲(chǔ)方式中求子串】int substr(stringtype s1,stringtype * s2,int m,int n)int j,k;j=s1.length;if(mj|nk) (*s2).length=k;else (*s2).length=n; /*置子串的串長(zhǎng)*/for(j=0;jnext!=null;p=p-next) length1+;/*求主串和串長(zhǎng)*/ if(mlength1|n0) s2=null;return false;/*參數(shù)錯(cuò)誤*/ p=s
37、1.next; for(j=0;jnext;/*找到子串和起始位置*/ s2=(slstrtype *)malloc(sizeof(slstrtype);/*分配子串和第一個(gè)結(jié)點(diǎn)*/ v=s2;q=v; for(j=0;jnext!=null;j+) /*建立子串*/ q-str=p-str;p=p-next;q=(slstrtype *)malloc(sizeof(slstrtype);v-next=q;v=q;q-str=0;q-next=null; /*置子串和尾結(jié)點(diǎn)*/return true;p67 堆存儲(chǔ)結(jié)構(gòu)用c語(yǔ)言定義為:typedet structchar *str;int le
38、ngth; hsstrtype;p67【算法4.3 共享法求子串】int substr(hsstrtype s1,hsstrtype *s2,int m,int n) int j,k; j=s1.length; if(mj|nlength=0;return false;/*參數(shù)錯(cuò)誤*/ k=strlen(s1.str+m);/*主串第m個(gè)位置開(kāi)始之后的串長(zhǎng)*/if (nk) s2-length=k;else s2-length=n;/*置子串的串長(zhǎng)*/s2-str=s1.str+m;/*置子串的串首地址return true;p67【算法4.4 重新賦值法求子串】int substr(hsst
39、rtype s1,hsstrtype *s2,int m,int n) int j,k; j=s1.length; if(mj|nlength=0;return false;/*參數(shù)錯(cuò)誤*/ k=strlen(s1.str+m);/*主串第m個(gè)位置開(kāi)始之后的串長(zhǎng)*/if (nk) s2-length=k;else s2-length=n; /*置子串的串長(zhǎng)*/k=s2-length;for(j=0;jstrj=s1.strm+;/*復(fù)制字符*/s2-strj=0;/*置結(jié)束符*/return true;p68 例main()int a,b,c;scanf(%d,%d,&a,&b);c=a+b;
40、printf(“%d”,c);第五章 多維數(shù)組和廣義表p77 三元組表#define maxsize 100/*定義非零元的最大數(shù)目*/struct node /*定義一個(gè)三元組*/ int i , j; /*非零元行、列號(hào)*/int v; /*非零元值*/; struct sparmatrix /*定義稀疏矩陣*/ int rows,cols ; /*稀疏矩陣行、列數(shù)*/int terms; /*稀疏矩陣非零元個(gè)數(shù)*/node data maxsize; /*三元組表*/;p79 十字鏈表的數(shù)據(jù)類(lèi)型描述如下:struct linknode int i, j;struct linknode *
41、cptr, *rptr;union vnext /*定義一個(gè)共用體*/ int v; /*表結(jié)點(diǎn)使用v域,表示非零元值*/struct linknode next; /*表頭結(jié)點(diǎn)使用next域*/ k; p81 (1)按照a的列序進(jìn)行轉(zhuǎn)置#define maxsize 100struct node int i,j; /*定義三元組的行、列號(hào)*/ int v; /*三元組的值*/ ; struct sparmatrix int rows,cols; /*稀疏矩陣的行、列數(shù)*/ int terms; /*稀疏矩陣的非零元個(gè)數(shù)*/ struct node datamaxsize; /*存放稀疏矩陣的
42、三元組表*/ ;void transpose(struct sparmatrix a) struct sparmatrix b; /*b為a的轉(zhuǎn)置*/int ano,bno=0,col,i;b.rows=a.cols; b.cols=a.rows;b.terms=a.terms;if (b.terms0)for ( col=0; cola.cols; col+) /*按列號(hào)掃描*/ for( ano=0;anoa.terms;ano+) /*對(duì)三元組掃描*/if (a.dataano.j=col) /*進(jìn)行轉(zhuǎn)置*/ b.databno.j=a.dataano.i;b.databno.i=a.dataano.j;b.databno.v=a.dataano.v;bno+; for( i=0;ia.terms;i+) /*輸出轉(zhuǎn)置后的三元組結(jié)果*/ printf(%5d%5d%5dn,b.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州站施工組織設(shè)計(jì)方案(幕墻)
- 二零二五年度金融行業(yè)IT運(yùn)維安全保障協(xié)議3篇
- 專(zhuān)業(yè)化海路物流合作合同(2024版)版B版
- 2025年度環(huán)保建筑材料推廣合作框架協(xié)議4篇
- 2025年度購(gòu)物中心場(chǎng)地合作開(kāi)發(fā)及商業(yè)運(yùn)營(yíng)合同4篇
- 二零二四圖書(shū)購(gòu)置項(xiàng)目與圖書(shū)館無(wú)障礙閱讀服務(wù)合同3篇
- 2025年度智能攤位管理系統(tǒng)開(kāi)發(fā)與實(shí)施合同4篇
- 2025年度劇本創(chuàng)作與版權(quán)授權(quán)管理合同3篇
- 二零二五版4S店汽車(chē)銷(xiāo)售合同樣本圖2篇
- 2025年度農(nóng)產(chǎn)品質(zhì)量安全追溯體系服務(wù)合同4篇
- 衡水市出租車(chē)駕駛員從業(yè)資格區(qū)域科目考試題庫(kù)(全真題庫(kù))
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國(guó)演義》中人物性格探析研究性課題報(bào)告
- 注冊(cè)電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫(kù)管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點(diǎn))
- 公共部分裝修工程 施工組織設(shè)計(jì)
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(kù)(共250余題)
- 裝飾裝修施工及擔(dān)保合同
評(píng)論
0/150
提交評(píng)論