κϰ
ж
1Ա˳洢˳һµġ 2˳洢Աȡ̣
3˳IJɾҪܴʱۣΪÿβƽֻнһԪҪƶ
4ԱеԪؿǸָģͬһԱеԪؾͬԣͬһݶ̣
5Ա˳洢ṹУڵԪλϲһڡ
6Աʽ洢ṹУڵԪλϲһڡ̣ 7Աʽ洢ṹ˳洢ṹ
8Ա˳洢ṹУɾʱƶԪصĸԪصλйء̣
9Աʽ洢ṹһĴ洢Ԫ洢ԱԪصġ̣ 10ڵУҪȡijԪأֻҪ֪Ԫصָ뼴ɣˣȡĴ洢ṹ
11̬˳洢ŵ㣬ж̬ŵ㡣ȡеiԪصʱiء
12ԱصÿԪضһǰһ̡
㷨
1ԱA[arrsize]ǰelenumУҵдһ㷨x 뵽ԱʵλϣԱԱԣҷ㷨ʱ临Ӷȡ ʾֱĿݽṹ˳洢˼ϵڱʾϵڣһͱʾԱȵıװһṹ壩Ϊ˳洢Ĵ洢ռǹ̶СģȷǷд洢ռ䣬УԭԱԪصԣȷԪصIJλãԪΪóλãҲԴӸ±˿ʼһ߱ȽϣһλȻx ıʾı
int insert (datatype A[],int *elenum,datatype x) /*elenumΪ±*/
{if (*elenum==arrsize-1) return 0; else {i=*elenum;
while (i>=0 && A[i]>x)
{A[i+1]=A[i]; i--; }
A[i+1]=x;
λ*/ (*elenum)++;
return 1; }
/**/
/*λñƶ*/
/*ҵλDzλһ
/*ɹ*/
}
ʱ临ӶΪO(n)
2֪һ˳AԪֵǵݼУдһ㷨ɾ˳жֵͬԪء
ʾ˳AӵһԪؿʼֵ֮ͬԪأɾٶԵڶԪͬơ void delete(Seqlist *A) {i=0;
while(i
*/
*/
{k=i+1;
while(k<=A->last&&A->data[i]==A->data[k]) k++; /*ʹkָһA[i]ͬԪ
n=k-i-1; /*nʾҪɾԪصĸ*/
for(j=k;j<=A->last;j++) A->data[j-n]=A->data[j]; /*ɾԪ*/ A->last= A->last -n; i++; }
}
3дһ㷨һ˳Aɾֵx~y(x<=y)֮ԪأҪԽϸߵЧʵ֡
ʾ˳AǰжϵǰԪA->data[i]Ƿxy֮䣬ǣɾn¼ɾʱӦǰԪصλǣA->data[i]ǰƶnλn¼ǰɾԪصĸ void delete(Seqlist *A,int x,int y) {i=0; n=0;
while (i
else A->data[i-n]=A->data[i]; /*ǰƶA->data[i]*/ i++; }
A->last-=n; }
4ԱnԪأÿԪһִַR[n]Удһ㷨ʹRеַĸַַַ˳СҪԭĴ洢ռ䣬ԪƶС
ʾԱɨ裬һνеĸǰ棬ڶνеַĸַ֮֮ǰ int fch(char c) /*жcǷĸ*/ {if(c>='a'&&c<='z'||c>='A'&&c<='Z') return (1);
else return (0); }
int fnum(char c) */
/*жcǷ
{if(c>='0'&&c<='9') return (1); else return (0);
}
void process(char R[n]) {low=0; high=n-1;
while(low {while(low while(low R[low]=R[high]; R[high]=k; } } low=low+1; high=n-1; while(low {k=R[low]; R[low]=R[high]; R[high]=k; } } } 5Ա˳洢һ㷨þٵĸ洢ռ佫˳ǰmԪغͺnԪؽ廥Ա a1, a2, , am, b1, b2, , bnıΪ b1, b2, , bn , a1, a2, , am ʾȽmnĴСm void process(Seqlist *L,int m,int n) {if(m<=n) for(i=1;i<=m;i++) {x=L->data[0]; for(k=1;k<=L->last;k++) L->data[k-1]=L->data[k]; L->data[L->last]=x; } else for(i=1;i<=n;i++) {x=L->data[L->last]; for(k=L->last-1;k>=0;k- -) L->data[k+1]=L->data[k]; L->data[0]=x; } } 6֪ͷĵLеĽǰֵеģдһ㷨ֵΪx Ľ뵽LУʹLȻҷ㷨ʱ临Ӷȡ LinkList insert(LinkList L, int x) {p=L; while(p->next && x>p->next->data) p=p->next; /*ѰҲλ */ s=(LNode *)malloc(sizeof(LNode)); /*ռ*/ s->data=x; /*װ*/ s->next=p->next; p->next=s; /*뵽*/ return(L); } 7ĵABд㷨ǺϲһCıԡ LinkList Combine(LinkList A, LinkList B) {C=A; rc=C; pa=A->next; /*paָAĵһ*/ pb=B->next; /*pbָBĵһ*/ free(B); /*ͷBͷ*/ while (pa && pb) /*papbָУֵСһ뵽 Cıβ*/ if(pa->data {rc->next=pa; rc=pa; pa=pa->next; } else {rc->next=pb; rc=pb; pb=pb->next; } if(pa) rc->next=pa; else rc->next=pb; /*ABʣIJӵCıβ*/ return(C);