博客作业2---线性表
一、PTA实验作业
1.题目1:最长连续递增子序列
2. 设计思路(伪代码或流程图)
int 变量b,i,j,z,count=0,q=0;
int 整形数组bit[111111],record[111111];
for i=0 to b
scanf("%d ",&bit[i])将各个值放入数组中
for i=0 to b;嵌套for j=i to b 进行从头到尾的逐个判断
count=j+1-i;将递增序列的数量更大的值放入count中
i=b,推出循环
printf("%d ",record[i]);输出最长的递增序列。
3.代码截图
4.PTA提交列表说明。
1.题目2:6-4 集合的基本运算(单链表)
2. 设计思路(伪代码或流程图)
void CreateListR(LinkList *&L,ElemType a[],int n)链表的初始化
r->data=a[i];
b->next=r;b=r;尾插法建表
void DispList(LinkList *L) printf("%c ",L->data);L=L->next;链表的输出
void sort(LinkList *&L)链表的递增排序
for i=0 to number-1嵌套 for j=0 to number-1-i;if(b[j]>b[j+1])temp=b[j];b[j]=b[j+1];b[j+1]=temp;冒泡法进行从小到大排序
void Union(LinkList *ha,LinkList *hb,LinkList *&hc)链表的并集
while(zz1&&zz2)进行循环判断
if(zz1->data>zz2->data)比较两个值的大小,小的存入sb[i++]中,zz2=zz2->next;
while(zz1) while(zz2)循环结束后是否还有链表有内容,有内容则存入数组中
void InterSect(LinkList *ha,LinkList *hb,LinkList *&hc)链表的的交集
if(nb->data==nm->data) number->data=nb->data;mb->next=number;mb=number;尾插法将有交集的值存入链表中
void Subs(LinkList *ha,LinkList *hb,LinkList *&hc)链表的差集
if(bc1->data==bc2->data) cwj[i++]=bc1->data;bc1=bc1->next;将第一个链表中有比第二个链表小的值放入到数组中
while(bc1)是否比较完后链表还有内容;
void DestroyList(LinkList *&L) delete p; 链表的销毁
3.代码截图
4.PTA提交列表说明。
1.题目3:7-4(选做) 一元多项式求导
2. 设计思路(伪代码或流程图)
int 整形变量和数组
int i=1;
if(i%2==1) coe1[n++]=coe 奇数项放系数
else index1[m++]=index;偶数项放指数
record++;记录指数为0的个数
if(getchar()=='\n')break 当输入'\n'时退出
for i=0 to n
number1=coe1[i]*index1[i];用number1存放求导后系数的值
number=index1[i]-1;用 number存放求导后指数的值
if(number1!=0) if(number>=0) 判断求导后的系数和指数
if(i==(n-2)) 特殊情况对应格式的输出
else 最后一项的系数和指数要对应格式的输出//
else 当多项式全部为常数时
printf("0 ");printf("0");根据格式输出0
3.代码截图
4.PTA提交列表说明。
二、截图本周题目集的PTA最后排名
1.顺序表PTA排名
2.链表PTA排名
3.我的总分:
总分215(顺序表85+链表130)
三、本周学习总结
1.谈谈你本周数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?
1.安排:有时间的话就会去写数据结构的pta题和预习和数据结构有关的内容。
2.挺满意的。
int 整形变量和整形数组
2.谈谈你对线性表的认识?
2.将值插入链表中,有头插法和尾插法两种
3.在进行头插和尾差时一般再定义一个新的链表*p,令这个链表的地址等于给出的链表地址L再进行操作,
若直接让L进行操作会得不到我们想要的结果
3.代码Git提交记录截图