早教吧作业答案频道 -->其他-->
哪位老大帮忙做下着几个题数据结构的。。。一、顺序表的操作(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--;
}
}
做了一个,其他的也好做的!你慢慢体会体会!
看了 哪位老大帮忙做下着几个题数据...的网友还看了以下:
以下哪一个不是队列的基本运算? A.从队尾插入一个新元素 B.从队列中删除第i个元素 C.判断 2020-05-23 …
以下哪一个不是队的基本运算?( )A)从队列中删除第i个元素 B)从队尾插入一个新元素 C) 2020-05-23 …
( 9 )下列哪一个不是队列的基本运算?A )从队尾插入一个新元素B )从队列中删除第 i 个元素C 2020-05-23 …
以下哪一个不是队列的基本运算( )。A.从队尾插入一个新元素B.从队列中删除第i个元素C.判断一个队 2020-05-23 …
以下哪一个不是队的基本运算?( )A)从队列中删除第i个元素B)从队尾插入一个新元素C)将队列置为空 2020-05-23 …
一个长度为n的线性表,如果采用顺序存储结构,那么当删除第i个元素(l≤,i, ≤n)时, 需要向前移 2020-05-23 …
下列_________不是队列的基本运算。A.从队尾插入一个新元素B.从队列中删除第i个元素C.判断 2020-05-23 …
在一个长度为n的顺序表中删除第i个元素(0≤i≤n1)时,需要从前向后依次前移(33)个元素。A.n 2020-05-26 …
数据结构相关问题向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动个元素.向一个长度 2020-06-05 …
关于数据结构的题7.线性表中结点的个数是的,结点间的关系是的.8.向一个长度为n的向量的第i个元素 2020-06-18 …