软件实验文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.顺序表的逆置
(1)程序为:
#include
#include
typedef char datatype;
const int maxsize=1024;
typedef struct
{ datatype data[maxsize];
int last;
}sequenlist;
void create(sequenlist*&);
void print(sequenlist*);
void invert(sequenlist*);
void main()
{ sequenlist*L;
create(L);
print(L);
invert(L);
print(L);
}
void create(sequenlist*&L)
{
L=(sequenlist*)malloc(sizeof(sequenlist));
L->last=0;
char ch;
while((ch=getchar())!='*')
{
L->last++;
L->data[L->last]=ch;
}
}
void print(sequenlist*L)
{
for(int i=1;i<=L->last;i++)
printf("%2c",L->data[i]);
printf("\n");
}
void invert(sequenlist*L)
{
int i=1;
datatype temp;
while(i<=L->last/2)
{
temp=L->data[i];
L->data[i]=L->data[L->last-i+1];
L->data[L->last-i+1]=temp;
i++;
}
}
#include
#include
typedef char datatype;
typedef struct node
{
datatype data;
struct node *next;
}linklist;
void create(linklist*&);
void print(linklist *);
void invert(linklist*);
void main()
{
linklist*head;
create(head);
print(head);
invert(head);
print(head);
}
void create(linklist*&head)
{
char ch;
linklist *s,*r;
head=(linklist*)malloc(sizeof(linklist));
r=head;
while((ch=getchar())!='*')
{
s=(linklist*)malloc(sizeof(linklist));
s->data=ch;
r->next=s;
r=s;
}
r->next=NULL;
}
void print(linklist*head)
{
linklist*p=head->next;
while(p!=NULL)
{
printf("%2c",p->data);
p=p->next;
}
printf("\n");
}
void invert (linklist*head)
{ linklist*p,*q,*r;
p=head->next;
q=p->next;
while(q!=NULL)
{ r=q->next;
q->next=p;
p=q;
q=r; }
head->next->next=NULL;
head->next=p;
}
判断字符串是否中心对称程序为
#include
#include
#include
typedef char datatype;
typedef struct node
{ datatype data;
struct node *next;
}linklist;
const int maxsize=40;
typedef struct
{ datatype elements[maxsize];
int top;
}stack;
void setnull(stack *&);
int length(linklist*);
void printlink(linklist*);
void create(linklist *&,datatype*);
void push(stack*,datatype);
datatype pop(stack*);
int symmetry(linklist*,stack*);//ÅÐ×Ö·û´®ÊÇ·ñÖÐÐĶԳƵĺ¯ÊýÉùÃ÷
int main()
{
linklist *head;stack *s;