#include<stdio.h>
#include<stdlib.h>
#define max 100
typedef struct{
int *data;
int maxsize,length;
} sql;
bool sqlinsert(sql &s,int i,int data)
{
if(i<1||i>s.length+1)
return false;
if(s.length>=s.maxsize)
return false;
for(int j=s.length;j>=i;j--)
s.data[j]=s.data[j+1];
s.data[i-1]=data;
s.length++;
return true;
}
bool delesql(sql &s,int i,int &data)
{
if(i<1||i>s.length+1)
return false;
data=s.data[i-1];
for(int j=i;j<s.length;j++)
{
s.data[j-1]=s.data[j];
}
s.length--;
return true;
}
int locateElem(sql s,int data)
{
for(int i=0;i<=s.length;i++)
{
if(s.data[i]==data)
return i+1;
return 0;
}
}
int dele_elem(sql &s,int data)
{
if(s.length==0)
return -1;
int min=s.data[0];
int pos=0;
for(int i=1;i<=s.length;i++)
{
if(s.data[i]<min)
{
min=s.data[i];
pos=i;
}
}
s.data[pos]=s.data[s.length-1];
s.length--;
return min;
}
void revList(sql &s)
{
int temp;
for(int i=0;i<s.length/2;i++)
{
temp=s.data[i];
s.data[i]=s.data[s.length-1-i];
s.data[s.length-1-i]=temp;
}
}
bool delelemA(sql &s,int x){
int data=0;
for(int i=0;i<s.length;i++)
{
if(s.data[i]!=x)
{
s.data[data]=s.data[i];
data++;
}
}
return true;
}
bool delelemB(sql &s,int a,int b){
if(a>b)
return false;
if(s.length==0)
return false;
int data=0;
for(int i=0;i<s.length;i++)
{
if(s.data[i]<=a||s.data[i]>=b)
{
s.data[data]=s.data[i];
data++;
}
}
s.length=data;
return true;
}
bool delelemC(sql &s,int a,int b){
if(a>=b)
return false;
if(s.length==0)
return false;
int i,j;
for(i=0;i<s.length&&s.data[i]<a;i++)
if(i>=s.length)
return false;
for(j=i;j<s.length&&s.data[j]<b;j++)
for(;j<s.length;i++,j++)
s.data[i]=s.data[j];
s.length=i;
}
bool deleListSame(sql &s){
if(s.length==0)
return false;
int i,j;
for(i=0,j=1;j<s.length;j++)
{
if(s.data[i]!=s.data[j])
s.data[++i]=s.data[j];
}
s.length=++i;
return true;
}
int removeSame1(sql &B) {
int i, j = 0, k;
for (i = 1; i < B.length; ++i) {
k = 0;
while (k <= j && B.data[k] != B.data[i])
k++;
if (k > j)
B.data[++j] = B.data[i];
}
B.length = j+1;
return B.length;
}
bool addlist(sql a,sql b,sql &c){
if(a.length=b.length>=c.maxsize)
return false;
int i,j,k;
while(i<a.length&&j<b.length)
{
if(a.data[i]>b.data[j])
{
c.data[k]=b.data[j];
k++;
j++;
}
else
{
c.data[k]=a.data[i];
k++;
i++;
}
}
while(i<a.length)
{
c.data[k]=a.data[i];
k++;
i++;
}
while(j<b.length)
{
c.data[k]=b.data[j];
k++;
j++;
}
return true;
}
void exchangearr(sql &a,int left,int right){
if(left>=right||right>=a.maxsize)
return ;
int temp;
int mid=(left+right)/2;
for(int i=0;i<mid;i++)
{
a.data[i]=temp;
a.data[i]=a.data[a.length-1-i];
a.data[a.length-1-i]=temp;
}
}
void exchange(sql &s,int left,int right)
{
exchangearr(s,0,right-1);
exchangearr(s,right,left+right-1);
}
void exchange2_1(sql &s,int a){
int i,j,flag=-1;
for(i=0;i<s.length;i++){
if(s.data[i]==a)
{
int temp=s.data[i+1];
s.data[i+1]=s.data[i];
s.data[i]=temp;
return;
}
if(s.data[i]<a&&s.data[i+1]>a){
flag=i;
break;
}
if(s.data[s.length-1]<a){
s.data[s.length]=a;
s.length++;
return;
}
}
if(flag!=-1)
{
for(j=s.length;j>flag;j--){
s.data[j]=s.data[j-1];
}
s.data[j+1]=a;
s.length++;
}
}
void exchange2_2(sql &s,int a){
int low=0,high=s.length-1,mid;
while(low<high)
{
mid=(low+high)/2;
if(s.data[mid]==a)
break;
else if(s.data[mid]<a)
low=mid+1;
else
high=mid-1;
}
if(s.data[mid]==a&&mid!=s.length-1)
{
int temp=s.data[mid];
s.data[mid]=s.data[mid+1];
s.data[mid+1]=temp;
}
if(low>high)
{
for(int i=s.length-1;i>high;i--)
{
s.data[i+1]=s.data[i];
s.data[i+1]=a;
s.length++;
}
}
}
void revergeList1(sql &s,int a,int b){
int i,temp;
for(int i=0;i<(b-a)/2;i++)
{
s.data[a+i]=temp;
s.data[a+i]=s.data[b-i];
s.data[b-i]=temp;
}
}
void converse(sql &s,int a,int b){
revergeList1(s,0,a-1);
revergeList1(s,a,b-1);
revergeList1(s,0,b-1);
}
void revergeList2(sql &s,int a,int b){
sql *aa;
aa.length=a;
for(int i=0;i<a;i++){
aa.data[i]=s.data[i];
}
for(int j=0;j<s.length-a;j++){
s.data[j]=s.data[j+a];
}
for(int k=0;k<a;k++){
s.data[b+k]=aa.data[k];
}
}
int main()
{
int a=10;
printf("%d\n",max);
return 0;
}
|