早教吧作业答案频道 -->其他-->
哪位老大帮忙做下着几个题数据结构的。。。一、顺序表的操作(1)插入元素操作:将新元素x插入到顺序表a中第i个位置。(2)删除元素操作:删除顺序表a中第i个元素。二、单链表的操
题目详情
哪位老大帮忙做下着几个题数据结构的。。。
一、 顺序表的操作
(1)插入元素操作:将新元素x插入到顺序表a中第i个位置。
(2)删除元素操作:删除顺序表a中第i个元素。
二、单链表的操作
(1)创建一个带头结点的单链表;
(2)插入元素操作:将新元素x插入到单链表中第i个元素之后;
(3)删除元素操作:删除单链表中值为x的元素;
三、在顺序栈上实现将非负十进制数转换成二进制数。
四、在顺序表中采用顺序查找算法和折半查找算法寻找关键字X在顺序表中的位置。
五、将无序数列使用直接插入排序算法和快速排序算法将其排成递增有序数列
一、 顺序表的操作
(1)插入元素操作:将新元素x插入到顺序表a中第i个位置。
(2)删除元素操作:删除顺序表a中第i个元素。
二、单链表的操作
(1)创建一个带头结点的单链表;
(2)插入元素操作:将新元素x插入到单链表中第i个元素之后;
(3)删除元素操作:删除单链表中值为x的元素;
三、在顺序栈上实现将非负十进制数转换成二进制数。
四、在顺序表中采用顺序查找算法和折半查找算法寻找关键字X在顺序表中的位置。
五、将无序数列使用直接插入排序算法和快速排序算法将其排成递增有序数列
▼优质解答
答案和解析
#include
#define MAXSIZE 100
typedef int datatype;
struct sqlist
{
datatype data[MAXSIZE];
int last;
};
sqlist list1;
void create(); //新建一个顺序表
void show(); //显示新建的顺序表内容
int locate(datatype x);//查找有无某一给定的数值
void insert(datatype x,int i);//将值为x的新结点插入到顺序表中的第i个结点的位置上
void deleter(int i);//删除顺序表中的第i个结点
void main()
{
create(); //新建一个顺序表
show(); //显示你新建的顺序表内容
datatype x;
cout< cin>>x;
int i=locate(x);//查找数值为x的元素
if(i==1)cout< cout<>x>>i;
insert(x,i); //将值为x的新结点插入到顺序表中的第i个结点的位置上
show(); //显示顺序表的内容
cout<>i;
deleter(i); //删除顺序表中的第i个结点
show(); //显示顺序表的内容
}
void show() //显示顺序表的内容
{
cout< for(int i=0;i<=list1.last;i++)
cout< cout<}
void create() //建立一个顺序表
{
for(int i=0;i<63;i++)
list1.data[i]=i+1;
list1.last=i-1;
}
int locate(datatype x)//从已知的顺序表中查找有无某一给定的数值
{
for(int i=0;i<=list1.last;i++)
if(list1.data[i]==x)
return 1;
return 0;
}
void insert(datatype x,int i)//将值为x的新结点插入到顺序表中的第i个结点的位置上
{
if(list1.last0&&i<=list1.last+2))
{for(int j=list1.last+1;j>i-1;j--)
list1.data[j]=list1.data[j-1];
list1.data[j]=x;
list1.last++;
}
}
void deleter(int i)//将顺序表中的第i个结点删除掉
{
if(list1.last>-1&&(i>=1&&i<=list1.last+1))
{
for(int j=i;j<=list1.last-1;j++)
list1.data[j-1]=list1.data[j];
list1.last--;
}
}
做了一个,其他的也好做的!你慢慢体会体会!
#define MAXSIZE 100
typedef int datatype;
struct sqlist
{
datatype data[MAXSIZE];
int last;
};
sqlist list1;
void create(); //新建一个顺序表
void show(); //显示新建的顺序表内容
int locate(datatype x);//查找有无某一给定的数值
void insert(datatype x,int i);//将值为x的新结点插入到顺序表中的第i个结点的位置上
void deleter(int i);//删除顺序表中的第i个结点
void main()
{
create(); //新建一个顺序表
show(); //显示你新建的顺序表内容
datatype x;
cout< cin>>x;
int i=locate(x);//查找数值为x的元素
if(i==1)cout< cout<>x>>i;
insert(x,i); //将值为x的新结点插入到顺序表中的第i个结点的位置上
show(); //显示顺序表的内容
cout<>i;
deleter(i); //删除顺序表中的第i个结点
show(); //显示顺序表的内容
}
void show() //显示顺序表的内容
{
cout< for(int i=0;i<=list1.last;i++)
cout< cout<}
void create() //建立一个顺序表
{
for(int i=0;i<63;i++)
list1.data[i]=i+1;
list1.last=i-1;
}
int locate(datatype x)//从已知的顺序表中查找有无某一给定的数值
{
for(int i=0;i<=list1.last;i++)
if(list1.data[i]==x)
return 1;
return 0;
}
void insert(datatype x,int i)//将值为x的新结点插入到顺序表中的第i个结点的位置上
{
if(list1.last
{for(int j=list1.last+1;j>i-1;j--)
list1.data[j]=list1.data[j-1];
list1.data[j]=x;
list1.last++;
}
}
void deleter(int i)//将顺序表中的第i个结点删除掉
{
if(list1.last>-1&&(i>=1&&i<=list1.last+1))
{
for(int j=i;j<=list1.last-1;j++)
list1.data[j-1]=list1.data[j];
list1.last--;
}
}
做了一个,其他的也好做的!你慢慢体会体会!
看了 哪位老大帮忙做下着几个题数据...的网友还看了以下:
若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等于该矩阵______。A.第i行中值为1的元 2020-05-26 …
若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等于该矩阵(37)。A.第i行中值为1的元素个 2020-05-26 …
若采用邻接矩阵来存储简单有向图,则其某一个顶点i的人度等于该矩阵______。A.第i行中值为1的元 2020-05-26 …
若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等于该矩阵(35)。A.第i行中值为1的元素个 2020-05-26 …
若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等于该矩阵(20) 。A.第i行中值为1的元素 2020-05-26 …
投入产生表最核心的象限是( )。A.第I象限B.第II象限C.第III象限D.第Ⅳ象限 2020-05-30 …
请问什么时候用an?a,e,i,o,u是指单词字母吗?请问什么时候用an?一直听说遇到a,e,i, 2020-06-07 …
求方案数的递推式n个位置编号1到n,它们围成一个环.n个人编号1到n.第i个人不能坐在第i与i+1 2020-07-21 …
伴随矩阵A*第i行第j列元素是方阵A是第几行第几列的代数余子式 2020-08-03 …
一道数学概率题!有一组数据一共有10个数其中一个数为a,现在要抽取一个容量为4的样本.第一次抽没有抽 2020-11-20 …