/*
数据结构:
顺序表(数组)
定义方式:
int L[100]
*/
#include <bits/stdc++.h>
using namespace std;
bool del_min(int *L,int n,int &min) //参数:数组指针,数组长度,数组元素最小值
{
if(n==0) //如果顺序表的长度为0即为空,返回false
return false;
int pos=0; //记录下被删除的最小值元素的位置,先记录为0
int minv=L[0]; //存放最小的元素,先记录为0号元素
for(int i=0;i<n;i++)
{
if(L[i]<minv)
{
minv=L[i]; //更新最小值
pos=i; //记录下最小值所在的位置
}
}
min=minv;
L[pos]=L[n-1]; //最小值元素被最后一个元素替代
return true;
}
void travel(int *L,int n) //遍历顺序表
{
for(int i=0;i<n;i++)
{
printf("%d ",L[i]);
}
printf("\n");
}
int main()
{
int n;
scanf("%d",&n); //输入顺序表的长度
int L[100]; //定义该顺序表数组
for(int i=0;i<n;i++)
{
scanf("%d",&L[i]); //输入顺序表中每个元素的值
}
int min; //存放最小值元素答案
if(del_min(L,n,min)) //如果删除最小元素后不为空
{
printf("%d\n",min); //输出最小值元素
travel(L,n-1);
}
else //如果删除最小值元素后为空
{
printf("error\n"); //输出error
}
}
【1213顺序表的删除】【顺序表】【用顺序表中的元素替换另外一个元素】
于 2023-03-24 14:55:43 首次发布