#include "iostream"
#include "malloc.h"
using namespace std;
#define MaxSize 100
typedef struct node{
char data;
struct node *next;
}LinkString;
void Assign(LinkString *&s,char str[]){
int i=0;
LinkString *p,*tc;
s=(LinkString*)malloc(sizeof(LinkString));
tc=s;
while(str[i]!='\0'){
p=(LinkString*)malloc(sizeof(LinkString));
p->data=str[i];
tc->next=p;tc=p;
i++;
}
tc->next=NULL;
}
void Destroystr(LinkString *&s){
LinkString *pre=s,*p=pre->next;
while(p){
free(pre);
pre=p;p=p->next;
}
free(pre);
}
void StrCopy(LinkString *&s,LinkString *t){
LinkString *p=t->next,*q,*tc;
s=(LinkString*)malloc(sizeof(LinkString));
tc=s;
while(p){
q=(LinkString*)malloc(sizeof(LinkString));
q->data=p->data;
tc->next=q;tc=q;
p=p->next;
}
tc->next=NULL;
}
int StrLength(LinkString *s){
int n=0;
LinkString *p=s->next;
while(p){
n++;
p=p->next;
}
return n;
#include "malloc.h"
using namespace std;
#define MaxSize 100
typedef struct node{
char data;
struct node *next;
}LinkString;
void Assign(LinkString *&s,char str[]){
int i=0;
LinkString *p,*tc;
s=(LinkString*)malloc(sizeof(LinkString));
tc=s;
while(str[i]!='\0'){
p=(LinkString*)malloc(sizeof(LinkString));
p->data=str[i];
tc->next=p;tc=p;
i++;
}
tc->next=NULL;
}
void Destroystr(LinkString *&s){
LinkString *pre=s,*p=pre->next;
while(p){
free(pre);
pre=p;p=p->next;
}
free(pre);
}
void StrCopy(LinkString *&s,LinkString *t){
LinkString *p=t->next,*q,*tc;
s=(LinkString*)malloc(sizeof(LinkString));
tc=s;
while(p){
q=(LinkString*)malloc(sizeof(LinkString));
q->data=p->data;
tc->next=q;tc=q;
p=p->next;
}
tc->next=NULL;
}
int StrLength(LinkString *s){
int n=0;
LinkString *p=s->next;
while(p){
n++;
p=p->next;
}
return n;