#include
using namespace std;
#define Max 50
struct SqList{
int a[Max]={2,3,4,5,6,7,1,9};
int length= 8;
};
bool listdelete(SqList &s,int &elem){
//删除顺序表L中的最小值的节点,并且通过引用参数value返回其值
if(s.length==0){
return false;//表空种植操作返回
}
int minn=s.a[0];
int flag= 0;//假定0号元素最小
for(int i=1;i//让value记忆当前具有最小值的元素
if(s.a[i]
minn=s.a[i];flag=i;
}
}
elem=s.a[flag];
s.a[flag]=s.a[s.length-1];//空出的位置由最后一个元素来填补
return true;//此时value为最小值
}
int main(){
SqList s;
cout<<"原来的线性表:"<
cout<<"最小元素k=" <
cout<
cout<<"错误"<
//逆置一个顺序表
#include
using namespace std;
#define Max 50
struct SqList{
int a[Max]={1,2,3,4,5,6,7};
int length=8;
};
void reverse(SqList &L){
for(int i =0;i<=L.length/2;i++){
int v= L.a[i];//创建一个辅助变量
L.a[i]=L.a[L.length-1-i];
L.a[L.length-i-1]=v;
}
}
int main(){
SqList L;
for (int i = 0; i < L.length; i++)cout<
#include
using namespace std;
#define Max 50
struct SqList{
int a[Max]={5,2,0,1,3,1,4,1,4,1,4};
int length= 11;
};
bool deletelist(SqList &L,int x){
int k=0;
for (int i = 0; i < L.length; i++)
{
if(L.a[i]==x) k++;
else L.a[i-k]=L.a[i];
}
L.length=L.length-k;
// return 0;
}
int main(){
SqList L;
for (int i = 0; i < L.length; i++)
{
cout<
cout<
bool deletesq(sqlist &L, int s,int v){
if(L.length==0||s>=v) return false;
int k=0;
bool flag = false;
for (int i = 0; i < L.length; i++)
{
if(L.a[i]>=s){
flag = true;break;
}
}
if(!flag)return false;
for (int i = 0; i < L.length; i++)
{
if(L.a[i]>=s&&L.a[i]<=v) k++;//如果满足这种情况就进行++
else L.a[i-k]=L.a[i];//否则就进行赋值
}
L.length= L.length-k;
return true;
}