欢迎来到天天文库
浏览记录
ID:55894991
大小:159.50 KB
页数:14页
时间:2020-06-13
《2017华工大数据结构作业(已做).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2017华工数据结构作业一、程序阅读填空1.在顺序表中第i个位置插入新元素xtemplateintSeqList::Insert(Type&x,inti){if(i<0
2、
3、i>last+1
4、
5、last==MaxSize-1)return0;//插入不成功else{last++;for(________intj=MaxSize-1________________;j>i;j--)___________data[j+1]=data[j]__________________;data[i]=x;retu
6、rn1;//插入成功}} 1.直接选择排序的算法templatevoidSelectSort(datalist&list){for(inti=0;iviodSelectExchange(datalist&list,constinti){intk=i;for(intj=i+1;j7、Size;j++)if(list.Vector[j].getKey()voidList::MakeEmpty(){ListNode*q;while(first→link!=NULL){ ________8、____q=first->link______________; _________fitst->link=q->link_________________;//将表头结点后第一个结点从链中摘下deleteq;//释放它}last=first;//修改表尾指针} 4、基于有序顺序表的折半搜索递归算法(Element为有序顺序表)templateintorderedList::BinarySearch(constType&x,constintlow,constinthigh)const{intmid9、=-1;if(low<=high){ ________mid=(low+high)/2__________________;if(Element[mid].getKey()x)mid=BinarySearch(x,low,mid-1);}returnmid;} 5、在顺序表中第i个位置插入新元素x。intinsert(sqlist*L,datatype10、x,inti){intj;if(L->n==maxsize){cout<<”表满,不能插入!(上溢)”;return–1;}if(i<011、12、i>=maxsize){cout<<”非法插入位置!”;return0;}for(j=L->n;j>=i;j--)L->data[j]=L->data[j-1];//节点后移L->data[j]=x;//插入xL->n++;//修改表长Return1;//插入成功} 6、直接选择排序的算法voidSelectSort(listR,intn){inti,j,k;for(i=1;i<=n13、-1;i++){//n-1趟排序k=i;for(j=i+1;j<=n,j++)//在当前无序区中找键值最小的记录R[k]if(R[j].key14、因此,不易扩充。(2)由于在插入或删除是,为了保持原有次序(没有规定元素进栈顺序),平均需要移动一半(或近一半)元素,修改效率不高。2)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针次序实现的。链表存储的优缺
7、Size;j++)if(list.Vector[j].getKey()voidList::MakeEmpty(){ListNode*q;while(first→link!=NULL){ ________
8、____q=first->link______________; _________fitst->link=q->link_________________;//将表头结点后第一个结点从链中摘下deleteq;//释放它}last=first;//修改表尾指针} 4、基于有序顺序表的折半搜索递归算法(Element为有序顺序表)templateintorderedList::BinarySearch(constType&x,constintlow,constinthigh)const{intmid
9、=-1;if(low<=high){ ________mid=(low+high)/2__________________;if(Element[mid].getKey()x)mid=BinarySearch(x,low,mid-1);}returnmid;} 5、在顺序表中第i个位置插入新元素x。intinsert(sqlist*L,datatype
10、x,inti){intj;if(L->n==maxsize){cout<<”表满,不能插入!(上溢)”;return–1;}if(i<0
11、
12、i>=maxsize){cout<<”非法插入位置!”;return0;}for(j=L->n;j>=i;j--)L->data[j]=L->data[j-1];//节点后移L->data[j]=x;//插入xL->n++;//修改表长Return1;//插入成功} 6、直接选择排序的算法voidSelectSort(listR,intn){inti,j,k;for(i=1;i<=n
13、-1;i++){//n-1趟排序k=i;for(j=i+1;j<=n,j++)//在当前无序区中找键值最小的记录R[k]if(R[j].key14、因此,不易扩充。(2)由于在插入或删除是,为了保持原有次序(没有规定元素进栈顺序),平均需要移动一半(或近一半)元素,修改效率不高。2)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针次序实现的。链表存储的优缺
14、因此,不易扩充。(2)由于在插入或删除是,为了保持原有次序(没有规定元素进栈顺序),平均需要移动一半(或近一半)元素,修改效率不高。2)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针次序实现的。链表存储的优缺
此文档下载收益归作者所有