软件实验文档

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档