数据结构课后练习学习教案.pptx
上传人:王子****青蛙 上传时间:2024-09-12 格式:PPTX 页数:24 大小:163KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构课后练习学习教案.pptx

数据结构课后练习学习教案.pptx

预览

免费试读已结束,剩余 14 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学学习(xuéxí)要点学习(xuéxí)要点一、判断(pànduàn)对错题二、单项选择题二、单项选择题二、单项选择题三、填空题四、简答题四、简答题四、简答题四、简答题4.分析下述三个算法(suànfǎ)的具体功能。ListNode*Demo1(LinkListL,ListNode*p){//L是有头结点的单链表ListNode*q=L->next;while(q&&q->next!=p)q=q->next;if(q)returnq;elseError("*pnotinL");}4.分析下述三个算法的具体功能(gōngnéng)。voidDemo2(ListNode*p,ListNode*q){//p,*q是链表中的两个结点DataTypetemp;temp=p->data;p->data=q->data;q->data=temp;}4.分析下述三个算法的具体功能。LinkListtest1(LinkListL){//L是无头(wútóu)结点的单链表LinkList*q,*p;if(L&&L->next){q=L;L=L->next;p=L;while(p->next)p=p->next;p->next=q;q->next=NULL;}returnL;}5.设有多项式⑴请画出的单链表存储(cúnchǔ)表示。⑵设,求得并画出的单链表存储(cúnchǔ)表示。五、程序设计(chénɡxùshèjì)题StatusListDelete_L(LinkListL,ElemTypex){//在带头结点的单链表L中,删除值为x的结点。LNode*p,*q;p=L;while(p->next&&p->next->data!=x){q=p;p=p->next;}//寻找值为x的结点,并令p指向其前驱(被删结点);//指针(zhǐzhēn)q指向*p结点的前驱结点。if(!(p->next))returnERROR;//表中不存在值为x的结点。p–>next=q–>next;//删除元素(结点)x的前驱结点。free(p);//释放结点的存储空间。returnOK;}线性表的结构定义:--------线性表的动态分配顺序存储结构---------#defineLIST_INIT_SIZE100//顺序表的初始分配量#defineLISTINCREMENT10//顺序表的分配增量(zēnɡliànɡ)typedefstruct{ElemType*elem;//存储空间基址:即数组的起始地址intlength;//顺序表的当前长度:实际的元素个数intlistsize;//当前分配的存储容量(以sizeof(ElemType)为单位)}SqList;2.将一个顺序(shùnxù)表中从第i个结点开始的k个结点删除。if(k>=((q-p)+1))//第i个元素后的所有元素均被删除{L.length=i-1;returnOK;}elsefor(;k>=1;k>=1;--k;){for(++p;p<=q;++p)*(p-1)=*p;//到第i+1个元素平移p++;--L.length;q=L.elem+L.length–1;}returnOK;//返回删除元素成功(chénggōng)标志}五、程序设计(chénɡxùshèjì)题StatusLinkListInsert(LinkListL,ElemTypex){//在升序链表L(带头(dàitóu)结点)中插入一个新元素结点xq=L;p=q->next;//找到插入位置while(p!=NULL&&p->data<=x){q=p;p=p->next;}s=(LinkList)malloc(sizeof(LNode));//生成新结点s->data=x;s->next=p;//插入结点q->next=s;}//LinkListInsert结束(jiéshù)