DS博客作业02--线性表

#1.本周学习总结(0-4分)

1.1 总结线性表内容

  • 顺序表结构体定义:
#define  MAXSIZE 100     //最大长度
typedef  struct {
  ElemType  *elem;     //指向数据元素的基地址
  int  length;          //线性表的当前长度                                                      
 }SqList;

  • 顺序表插入:
for (j=L->length;j>i;j--)	//将data[i..n]元素后移一个位置
  L->data[j]=L->data[j-1];
L->data[i]=e;			//插入元素e
L->length++;			//顺序表长度增1

  • 顺序表的删除:
for (int j=i;j<L->length-1;j++)         
      L->data[j]=L->data[j+1];
   L->length--;	    //顺序表长度减1
   return true;	
  • 链表结构体定义:
typedef struct LNode{
     ElemType   data;       //数据域
     struct LNode  *next;   //指针域
}LNode,*LinkList; 

  • 头插法建链表:
for(i=0;i<n;i++){
		 nodePtr=new LNode;
		 nodePtr->data=a[i];
		 nodePtr->next=L->next;
		L->next= nodePtr;

  • 尾插法建链表:
for(i=0;i<n;i++)  {
	  	nodePtr=new LNode;
		nodePtr->data=a[i];
		rearPtr->next=s;//尾部插入新结点
		rearPtr=s;  
  • 链表插入:
if(p>length)
{
   s->data[p]=x;
}
else
{
   for(i=length;i>=p;i--)
   {
      s->data[i]=s->data[i-1];
   }
   s->data[p-1]=x;
}

  • 删除操作:
if(p>length)
{
   return false;
}
else
{
   for(i=p-1;i<=length-1;i++)
   {
      s->data[i]=s->data[i+1];
   }
}

有序表,尤其有序单链表数据插入、删除,有序表合并
循环链表、双链表结构特点
上面要求是必须完成,但是完成时候需要根据实际所学再展开。内容简单应付,0分。注意每个知识点务必要举例,图形等说明。

1.2.谈谈你对线性表的认识及学习体会。

这里可以写一些你在操作线性表时候经常碰到问题及解决方法。

#2.PTA实验作业(0-2分)
选3道PTA题目,不写伪代码,只贴代码截图,并记录代码提交碰到问题及解决方法。必须选择线性结构应用题目,不得选操作集类似题目,头插法、尾插法、链表逆转也不得选。(选,则为0分)选择难度越高题目得分越高。

2.1.题目1:题目名称

2.1.1代码截图(注意,截图,截图,截图。不要粘贴博客上。)

2.1.2本题PTA提交列表说明。

PTA提交列表中的每个错误详细说明为什么及如何解决。

2.2 题目2同题目1

2.3 题目3

#3.阅读代码(0--4分)

posted @ 2020-03-08 21:47  韦江洪  阅读(160)  评论(0编辑  收藏  举报