




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#include<stdio.h>
#include<mallocoh>
#include(stdlib.h>
/*
數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版線性表的單鏈表存儲(chǔ)結(jié)構(gòu)表示和實(shí)現(xiàn)
P28—31
編譯環(huán)境:Dev-C++4o9o9o2
日期:2011年2月10日
*/
typedefintElemType;
//線性表的單鏈表存儲(chǔ)結(jié)構(gòu)
typedefstructLNode
(
ElemTypedata;〃數(shù)據(jù)域
structLNode*next;〃指針域
}LNode,*LinkList;
//typedefstructLNode*LinkList;//另一種定義LinkList的方法
//構(gòu)造一個(gè)空的線性表L
intInitList(LinkList*L)
(
/*
產(chǎn)生頭結(jié)點(diǎn)L,并使L指向此頭結(jié)點(diǎn),頭節(jié)點(diǎn)的數(shù)據(jù)域?yàn)榭眨环艛?shù)據(jù)的。
void*malloc(size_t)
這里對(duì)返回值進(jìn)行強(qiáng)制類型轉(zhuǎn)換了,返回值是指向空類型的指針類型.
*/
(*L)=(LinkList)malloc(sizeof(structLNode));
if(!(*L))
exit(0);//存儲(chǔ)分配失敗
(*L)->next=NULL;//指針域?yàn)榭?/p>
return1;
)
//銷毀線性表L,將包括頭結(jié)點(diǎn)在內(nèi)的所有元素釋放其存儲(chǔ)空間。
intDestroyList(LinkList*L)
(
LinkListq;
//由于單鏈表的每一個(gè)元素是單獨(dú)分配的,所以要一個(gè)一個(gè)的進(jìn)行釋放
while(*L)
(
q=(*L)—〉next;
free(夫L);〃釋放
*L=q;
return1;
}
將L重置為空表,即將鏈表中除頭結(jié)點(diǎn)外的所有元素釋放其存
儲(chǔ)空間,但是將頭結(jié)點(diǎn)指針域置空,這和銷毀有區(qū)別哦。不改變L,所以
不需要用指針。
*/
intClearList(LinkListL)
(
LinkListp,q;
p=L—>next;〃p指向第一個(gè)結(jié)點(diǎn)
while(p)//沒(méi)到表尾則繼續(xù)循環(huán)
(
q=p->next;
free(p);〃釋放空間
P二q;
)
L—>next=NULL;//頭結(jié)點(diǎn)指針域?yàn)榭眨湵沓闪艘粋€(gè)空表
return1;
)
//若L為空表(根據(jù)頭結(jié)點(diǎn)L-〉next來(lái)判斷,為空則是空表),則返回1,
//否則返回0.
intListEmpty(LinkListL)
(
if(L—>next)〃非空
return0;
else
return1;
)
//返回L中數(shù)據(jù)元素個(gè)數(shù)。
intListLength(LinkListL)
(
inti=0;
LinkListp=L一〉next;〃p指向第一個(gè)結(jié)點(diǎn)
while(p)//沒(méi)到表尾,則繼續(xù)循環(huán)
(
i++;
p=p->next;
)
returni;
)
//算法2o8P29
〃L為帶頭結(jié)點(diǎn)的單鏈表的頭指針。當(dāng)?shù)趇個(gè)元素存在時(shí),其值賦給e并
//返回1,否則返回0o
intGetElem(LinkListL,inti,ElemType*e)
intj=1;〃j為計(jì)數(shù)器
LinkListp=L一〉next;//p指向第一個(gè)結(jié)點(diǎn)
while(p&&j<i)//順指針向后查找,直到p指向第i個(gè)元素或p為空
{
p=p—>next;
j++;
)
if(!plIj)i)//第i個(gè)元素不存在
return0;
*e=p—)data;//取第i個(gè)元素
return1;
}
//返回L中第1個(gè)與e滿足關(guān)系compare()的數(shù)據(jù)元素的位序。
//若這樣的數(shù)據(jù)元素不存在,則返回值為0
intLocateElem(LinkListL,ElemTypee,int(compare)(ElemType,ElemType))
(
inti=0;
LinkListp=L——>next;
while(p)〃將鏈表的每一個(gè)元素進(jìn)行對(duì)比
(
i++;
if(compare(p一〉data,e))//找到這樣的數(shù)據(jù)元素
returni;
p=p->next;
)
return0;
)
//若cuje是L的數(shù)據(jù)元素,且不是第一個(gè),則用pre_e返回它的前驅(qū),
〃返回1;否則操作失敗,pre_e無(wú)定義,返回
intPriorElem(LinkListL,ElemTypecur_e,ElemType*pre_e)
(
LinkListq,
p=L—)next;〃p指向第一個(gè)結(jié)點(diǎn)
while(p->next)〃p所指結(jié)點(diǎn)有后繼
(
q=p—〉next;〃q為p的后繼
if(q->data==cur_e)
(
*pre_e=p—>data;
return1;
}
p=q;//p向后移
)
return-1;
)
〃若cur_e是L的數(shù)據(jù)元素,且不是最后一個(gè),則用next_e返回它的后繼,
〃返回1;否則操作失敗,next_e無(wú)定義,返回-1
intNextElem(LinkListL,ElemTypecur_e,ElemType*next_e)
(
LinkListp=L一〉next;//p指向第一個(gè)結(jié)點(diǎn)
while(p->next)〃p所指結(jié)點(diǎn)有后繼
(
if(p—>data==cur_e)
{
*next_e=p-〉next-)data;
return1;
)
p=p->next;
)
return—1;
)
//算法2.9P30
//在帶頭結(jié)點(diǎn)的單鏈線性表L中第i個(gè)位置之前插入元素e
intListInsert(LinkLisl*L,inii,ElemTypee)
(
intj=0;
LinkListp=*L,s;
while(p&&j<i-l)//尋找第i—l個(gè)結(jié)點(diǎn)
(
p=p->next;
j++;
}
if(!p||j)i-D〃i小于1或者大于表長(zhǎng)
return0;
s=(LinkList)malloc(sizeof(structLNode));//生成新結(jié)點(diǎn)
s->data=e;//插入L中
s—>next=p->next;
p-〉next=s;
return1;
)
//算法2。10P30
//在帶頭結(jié)點(diǎn)的單鏈線性表L中,刪除第i個(gè)元素,并由e返回其值
intListDelete(LinkListinti,ElemType*e)
(
intj=O;
LinkListp=*L,q;
while(p-)next&&j<i-l)//尋找第i個(gè)結(jié)點(diǎn),并令p指向其前趨
p=p-)next;
j++;
)
if(!p一〉next|Ij>i-1)//刪除位置不合理
return0;
q=p—〉next;//刪除并釋放結(jié)點(diǎn)
p—〉next=q->next;
*e=q—〉data;
free(q);
return1;
)
//依次對(duì)L的每個(gè)數(shù)據(jù)元素調(diào)用函數(shù)vi()
intListTraverse(LinkListL,void(*vi)(ElemType))
(
LinkListp=L->next;
〃對(duì)所有元素調(diào)用函數(shù)vi
while(p)
(
vi(p—〉data);
p=p->next;
)
printf
return1:
}
//在按非降序排列的線性表L中按非降序插入新的數(shù)據(jù)元素e
voidInsertAscend(LinkListL,ElemTypee)
(
LinkListq=L,
p=L—〉next;
while(p&&e>p—〉data)
(
q=p;
p=p-)next;
)
q->next=(LinkList)malloc(sizeof(structLNode));//eqJo
q—〉next—〉data=e;
q->next—〉next=p;
)
//按非升序排列的線性表L中按非升序插入新的數(shù)據(jù)元素e
voidInsertDescend(LinkListL,ElemTypee)
(
LinkListq=L,p=L-〉next;
while(p&&e<p—>data)
q二p;
p=p-〉next;
)
q一〉next=(LinkList)malloc(sizeof(structLNode));//e插在q后
q一〉next—>data=e;
q—>next->next=p;
)
//L的頭部插入新的數(shù)據(jù)元素e,作為鏈表的第一個(gè)元素
intHeadInsert(LinkListL,ElemTypee)
(
LinkLists;
s=(LinkList)malloc(sizeof(structLNode));//生成新結(jié)點(diǎn)
s—>data=e;//給結(jié)點(diǎn)賦值
s-)next=L一>next;//插在表頭
L-)next=s;
return1;
)
〃在L的尾部插入新的數(shù)據(jù)元素e,作為鏈表的最后一個(gè)元素
intEndInsert(LinkListL,ElemTypee)
(
LinkListp=L;
while(p->next)〃使p指向表尾元素
p=p—〉next;
p一〉next=(LinkList)malloc(sizeof(structLNode));//在表尾生成新結(jié)點(diǎn)
p—>next—〉data=e;//給新結(jié)點(diǎn)賦值
p一〉next-)next=NULL;//表尾
return1;
}
〃刪除L的第一個(gè)數(shù)據(jù)元素,并由e返回其值
intDeleteFirst(LinkListL,ElemType*e)
(
LinkListp=L—〉next;
if(p)
{
*e=p—>data;
L->next=p-〉next;
free(p);
return1;
)
else
return0;
}
〃刪除L的最后一個(gè)數(shù)據(jù)元素,并用e返回其值
intDeleteTail(LinkListL,ElemType*e)
LinkListp=L,q;
if(!p—>next)//鏈表為空
return0;
while(p—〉next)
(
q=p;
p=p—>next;
)
q—〉next=NULL;//新尾結(jié)點(diǎn)的next域設(shè)為NULL
*e=p—〉data;
free(p);
return1;
}
//刪除表中值為e的元素,并返回1;如無(wú)此元素,則返回0
intDeleteElem(LinkListL,ElemTypee)
(
LinkListp=L,q;
while(p)
(
q=p-〉next;
if(q&&q—〉data==e)
{
p-)next=q—>next;
free(q);
return1;
)
p=q;
)
return0;
)
//用e取代表L中第i個(gè)元素的值
intReplaceElem(LinkListL,inti,ElemTypee)
(
LinkListp=L;
intj=0;
〃找到第i個(gè)元素的位置給p
while(p-)next&&j<i)
(
j++;
p=p-〉next;
)
if(j==i)
p—〉data=e;
return1;
)
else//表中不存在第i個(gè)元素
return0;
)
//按非降序建立n個(gè)元素的線性表
intCreatAscend(LinkList*L,intn)
(
intj;
LinkListp,q,s;
if(n(=0)
return0;
InitList(L);
printf("請(qǐng)輸入%d個(gè)元素:(空格)\n",n);
s=(LinkList)malloc(sizeof(structLNode));//第一個(gè)結(jié)點(diǎn)
scanf("%d”,&s—>data);
s—〉next=NULL;
(*L)—〉next=s;
for(j=l;j<n;j++)
(
s=(LinkList)malloc(sizeof(structLNode));//其余結(jié)點(diǎn)
scanf(''%cT,&s—〉data);
q=*L;
p=(*L)—〉next;
while(p&&p-)data<s~~>data)〃p沒(méi)到表尾,且所指元素值小于新值
(
q二p;
p=p—〉next;//指針后移
}
s->next=q—)next;//元素插在q的后面
q—〉next=s;
)
return1;
)
//按非升序建立n個(gè)元素的線性表
intCreatDescend(LinkList*L,intn)
(
intj;
LinkListp,q,s;
if(n<=0)
return0;
InitList(L);
printf("請(qǐng)輸入%d個(gè)元素:(空格)\n",n);
s=(LinkList)malloc(sizeof(structLNode));//第一個(gè)結(jié)點(diǎn)
scanf("%d”,&s-〉data);
s—〉next=NULL;
(*L)一>next=s;
for(j=l;j<n;j++)
(
s=(LinkList)malloc(sizeof(structLNode));//其余結(jié)點(diǎn)
scanf("%d”,&s-〉data);
q=*L;
p=(*L)—〉next;
while(p&&p—〉data)s—>data)〃p沒(méi)到表尾,且所指元素值大于新值
(
q=p;
p=p->next;//指針后移
)
s-〉next=q一〉next;//元素插在q的后面
q->next=s;
}
return1;
)
//返回表頭元素的值
intGetFirstElem(LinkListL,ElemType*e)
(
LinkListp=L->next;〃第一個(gè)結(jié)點(diǎn)給p
if(!p)〃空表
return0;
else//非空表
*e=p-〉data;
return1;
)
//算法2.11P30
//逆位序(插在表頭)輸入n個(gè)元素的值,建立帶表頭結(jié)構(gòu)的單鏈線性表L
voidCreateList(LinkList*L,intn)
(
inti;
LinkListp;
//先建立一個(gè)帶頭結(jié)點(diǎn)的空單鏈表,相當(dāng)于初始化單鏈表
*L=(LinkList)malloc(sizeof(structLNode));
(*L)—〉next=NULL;
printf("請(qǐng)輸入%d個(gè)數(shù)據(jù)\n",n);
for(i=n;i>0;------i)
(
p=(LinkList)malloc(sizeof(structLNode));//生成新結(jié)點(diǎn)
scanf("%d,\&p一〉data);//輸入元素值
p—>next=(*L)—>next;//插入到表頭
(*L)->next=p;
)
)
//正位序(插在表尾)輸入n個(gè)元素的值,建立帶表頭結(jié)構(gòu)的單鏈線性表
voidCreateList2(LinkList*L,intn)
(
inti;
LinkListp,q;
//先建立一個(gè)帶頭結(jié)點(diǎn)的空單鏈表,相當(dāng)于初始化單鏈表
*L=(LinkList)malloc(sizeof(structLNode));//生成頭結(jié)點(diǎn)
(*L)—>next=NULL;
q=*L;
printf("請(qǐng)輸入%d個(gè)數(shù)據(jù)\n",n);
for(i=l;i<=n;i++)
(
p=(LinkList)malloc(sizeof(structLNode));
scanf("%d”,&p—〉data);
q—>next=p;
q=q—〉next;
)
p—〉next=NULL;
)
/*
用單鏈表重寫算法2。2供參考
已知線性表La和Lb中的數(shù)據(jù)元素按值非遞減排列.
歸并La和Lb得到新的線性表Lc,Lc的數(shù)據(jù)元素也按值非遞減排列
voidMergeList(LinkListLa,LinkListLb,LinkList*Lc)
(
inti=l,j=l,k=O;
intLa_len,Lb」en;
ElemTypeai,bj;
InitList(Lc);
La_len=ListLength(La);
Lb_len=ListLength(Lb);
while(i(=La_len&&j<=Lb_len)//表La和表Lb均非空
(
GetElem(La,i,&ai);
GetElem(Lb,j,&bj);
if(ai<=bj)
(
Listinsert(Lc,++k,ai);
++i;
else
ListInsert(Lc,++k,bj);
++j;
)
)
while(i<=La_len)II表La非空且表Lb空
(
GetElem(La,i++,&ai);
Listinsert(Lc,++k,ai);
)
while(j<=Lb_len)//表Lb非空且表La空
(
GetElem(Lb,j++,&bj);
Listinsert(Lc,++k,bj);
}
)
*/
//算法2.12P31
//已知單鏈線性表La和Lb的元素按值非遞減排列。
//歸并La和Lb得到新的單鏈線性表Lc,Lc的元素也按值非遞減排列
voidMergeList(LinkListLa,LinkList*Lb,LinkList*Lc)
(
LinkListpa=La—〉next,pb=(*Lb)->next,pc;
*Lc=pc=La;〃用La的頭結(jié)點(diǎn)作為L(zhǎng)c的頭結(jié)點(diǎn)
while(pa&&pb)
(
if(pa—〉data(=pb—〉data)
(
pc—〉next=pa;
*Lc=pa;
pa=pa—〉next;
)
else
(
pc—〉next=pb;
pc=pb;
pb=pb-〉next;
)
}
pc->next=pa?pa:pb;//插入剩余段
free"Lb);//釋放Lb的頭結(jié)點(diǎn)
Lb=NULL;
//判斷是否相等的函數(shù),Union()用到
intequal(ElemTypec1,ElemTypec2)
(
if(cl==c2)
return1;
else
return0;
}
//算法2.1
//將所有在線性表Lb中但不在La中的數(shù)據(jù)元素插入到La中
voidUnion(LinkListLa,LinkListLb)
(
ElemTypee;
intLa_len,Lb_len;
inti;
La_len=ListLength(La);//求線性表的長(zhǎng)度
Lb_len=ListLength(Lb);
for(i=l;i<=Lb_len;i++)
(
GetElem(Lb,i,&e);//取Lb中第i個(gè)數(shù)據(jù)元素賦給e
if(!LocateElem(La,e,equal))//La中不存在和。相同的元素,則插入之
Listinsert(&La,++La_len,e);
)
}
//數(shù)據(jù)元素判定函數(shù)(相等為1,否則為0)
intcomp(ElemTypecl,ElemTypec2)
{
if(cl==c2)
return1;
else
return0;
}
voidvisit(ElemTypec)
(
printf("%d”,c);
)
intmain()
(
LinkListL,La,Lb,Lc;
ElemTypee,eO,d;
inti,j,n,k;
〃初始化一個(gè)單鏈表
i=InitList(&L);
〃通過(guò)插入操作創(chuàng)建一個(gè)單鏈表
for(j=l;j<=5;j++)
i=ListInsert(&L,l,j);
〃調(diào)用visit函數(shù),對(duì)單鏈表進(jìn)行遍歷
printf("在L的表頭依次插入1?5后:L=");
ListTraverse(L,visit);//依次對(duì)元素調(diào)用visit(),輸出元素的值
〃判斷單鏈表是否為空
i=ListEmpty(L);
printf("L是否空:i=%d(l:是0:否)\n",i);
//清空單鏈表
i=ClearList(L);
printf("清空L后:L=");
ListTraverse(L,visit);
〃判斷單鏈表是否為空
i=ListEmpty(L);
printf("L是否空:i=%d(1:是0:否)\n”,i);
〃再次通過(guò)插入操作創(chuàng)建一個(gè)單鏈表
for(j=l;j<=10;j++)
Listinsert(&L,j,j);
printf(w在L的表尾依次插入1?10后:L=");
ListTraverse(L,visit);
〃取得單鏈表的第5個(gè)元素
GetElem(L,5,&e);
printf("第5個(gè)元素的值為:%d\n",e);
〃在單鏈表中找到和j滿足comp函數(shù)關(guān)系的元素
for(j=O;j(=1;j++)
(
k=LocateElem(L,j,comp);
if(k)
printf("第%(1個(gè)元素的值為%d\n",k,j);
else
printf("沒(méi)有值為%<1的元素\n”,j);
)
〃找到某個(gè)元素的前驅(qū)
for(j=l;j<=2;j++)〃測(cè)試頭兩個(gè)數(shù)據(jù)
(
GetElem(L,j,&e0);//把第j個(gè)數(shù)據(jù)賦給eO
i=PriorElem(L,e0,&e);//求eO的前驅(qū)
if(i==-1)
printf("元素%d無(wú)前驅(qū)\n”,eO);
else
printf("元素%€1的前驅(qū)為:%d\n",e0,e);
}
〃找到某個(gè)元素的后繼
for(j=ListLength(L)-1;j<=ListLength(L);j++)//測(cè)試最后兩個(gè)數(shù)據(jù)
GetElem(L,j,&eO);〃把第j個(gè)數(shù)據(jù)賦給eO
i=NextElem(L,eO,&e);//求eO的后繼
if(i==—1)
printf("元素%d無(wú)后繼\n",eO);
else
printf("元素%d的后繼為:%d\n”,eO,e);
}
〃求單鏈表的表長(zhǎng)
k=ListLength(L);〃k為表長(zhǎng)
〃刪除操作
for(j=k+l;j>=k;j—)
(
i=ListDelete(&L,j,&e);〃刪除第j個(gè)數(shù)據(jù)
if(i==0)
printf("刪除第%d個(gè)數(shù)據(jù)失敗\n”,j);
else
printf("刪除的元素為:%d\n",e);
}
printf("依次輸出L的元素:“);
ListTraverse(L,visit);
〃銷毀單鏈表
DestroyList(&L);
printf("銷毀L后:L=%u\n\n",L);
printf(w按非降序建立n個(gè)元素的線性表L,請(qǐng)輸入元素個(gè)數(shù)n:");
scanf&n);
CreatAscend(&L,n);
printf("依次輸出L的元素:”);
ListTraverse(L,visit);
//按非降序插入元素10
InsertAscend(L,l0);
printf("按非降序插入元素10后,線性表L為:");
ListTraverse(L,visit);
〃在L的頭部插入12
HeadInsert(L>12);
〃在L的尾部插入9
Endinsert(L,9);
printf("在L的頭部插入12,尾部插入9后,線性表L為:");
ListTraverse(L,visit);
i=GetFirstElem(L,&e);
printf("第1個(gè)元素是:%d\n",e);
prinlf("請(qǐng)輸入要?jiǎng)h除的元素的值:”);
scanf("%d'',&e);
i=DeleteElem(L,e);
if(i)
printf("成功刪除%d!\n",e);
else
printf("不存在元素%d!\n”,e);
printfC線性表L為:”);
ListTraverse(L,visit);
printf("請(qǐng)輸入要取代的元素的序號(hào)元素的新值:”);
scanfT%d%d”,&n,&e);
ReplaceElem(L,n,e);
printf("線性表L為:“);
ListTraverse(L,visit);
DestroyList(&L);
printf("銷毀L后,按非升序重新建立n個(gè)元素的線性表L,請(qǐng)輸入”
”元素個(gè)數(shù)n(〉2):(');
scanf("%d”,&n);
CreatDescend(&L,n);
printf("依次輸出L的元素:");
ListTraverse(L,visit);
//按非升序插入元素10
InsertDescend(L,10);
printf("按非升序插入元素10后,線性表L為:”);
ListTraverse(L,visit);
printf("請(qǐng)輸入要?jiǎng)h除的元素的值:”);
scanff'%d",&e);
i=DeleteElem(L,e);
if(i)
printf("成功刪除%(1!\n",e);
else
printf("不存在元素%d!\n”,e);
printfC線性表L為:");
ListTraverse(L,visit);
DeleteFirst(L,&e);
DeleteTail(L,&d);
printf("刪除表頭元素%d和表尾元素%d后,線性表L為:",e,d);
ListTraverse(L,visit);
,,,,
printf(\n);
//測(cè)試算法2.11
n=3;
CreateList2(&La,n);//正位序輸入n個(gè)元素的值
printf("正位創(chuàng)建后La=");//輸出鏈表La的內(nèi)容
ListTraverse(La,visit);
CreateList(&Lb,n);〃逆位序輸入n個(gè)元素的值
printf("逆位創(chuàng)建后Lb*;//輸出鏈表Lb的內(nèi)容
ListTraverse(Lb,visit);
DestroyList(&La);
DestroyList(&Lb);
//測(cè)試算法2。12
//初始化一個(gè)單鏈表La
i=InitList(&La);
〃通過(guò)插入操作創(chuàng)建一個(gè)單鏈表
for(j=2;j(=10;j+=2)
i=ListInsert(&La,1,j);
printf("La=M);//輸出鏈表La的內(nèi)容
ListTraverse(La,visit);
〃初始化一個(gè)單鏈表
i=InitList(&Lb);
〃通過(guò)插入操作創(chuàng)建一個(gè)單鏈表
for(j=l;j<=10;j+=2)
i=ListInsert(&Lb,l,j);
printf("Lb=");〃輸出鏈表Lb的內(nèi)容
ListTraverse(Lb,visit);
〃按非遞減順序歸并La和Lb,得到新表Lc
MergeList(La,&Lb,&Lc);
printf("合并La和Lb后,Lc=M);
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020浙教版高中信息技術(shù)2.3《網(wǎng)上資源檢索》教學(xué)設(shè)計(jì)
- 第15課 國(guó)共合作與北伐戰(zhàn)爭(zhēng) (教學(xué)設(shè)計(jì))八年級(jí)歷史上冊(cè)同步高效課堂(部編版)
- 第二章資源安全與國(guó)家安全大單元教學(xué)設(shè)計(jì)2023-2024學(xué)年高中地理人教版(2019)選擇性必修3
- 第五章發(fā)展與合作 教學(xué)設(shè)計(jì)2023-2024學(xué)年人教版地理七年級(jí)上冊(cè)
- 第一單元 探索生命的奧秘2023-2024學(xué)年七年級(jí)上冊(cè)生物同步教學(xué)設(shè)計(jì)(蘇教版)
- 教師職業(yè)道德與學(xué)前教育政策法規(guī) 教案 10. 第三節(jié)《幼兒園教師專業(yè)標(biāo)準(zhǔn)(試行)》解讀
- 柑橘交易中心建設(shè)項(xiàng)目可行性研究報(bào)告-柑橘產(chǎn)業(yè)規(guī)模擴(kuò)張交易需求日益旺盛
- Theme A Learning to Love Challenge Yourself A 教學(xué)設(shè)計(jì) -2024-2025學(xué)年高中英語(yǔ)重大版(2019)必修第二冊(cè)
- 第二章 直線和圓的方程小結(jié)教學(xué)設(shè)計(jì) -2024-2025學(xué)年高二上學(xué)期數(shù)學(xué)人教A版(2019)選擇性必修第一冊(cè)
- 《氓》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè)
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)教案
- 新版人音版小學(xué)音樂(lè)一年級(jí)下冊(cè)全冊(cè)教案
- MOOC 跨文化交際通識(shí)通論-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課答案
- 日順電子酒店智能房控管理系統(tǒng)說(shuō)明書
- 急診與災(zāi)難醫(yī)學(xué)第二版配套課件 02 急性發(fā)熱
- 部編版四年級(jí)道德與法治下冊(cè)4《買東西的學(xué)問(wèn)》第1課時(shí)課件
- 公因數(shù)、最大公因數(shù)的應(yīng)用
- CBT主要技術(shù)精品課件
- 常用液壓元件型號(hào)對(duì)照表230
- 泰山產(chǎn)業(yè)領(lǐng)軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計(jì)算
評(píng)論
0/150
提交評(píng)論