inkList CreateList(int n) { //分配头结点 LinkList head,pre,q,f; int i; ElemType e; pre=head=(LinkList)malloc(sizeof(LNode)); if(head) head->next=NULL; else return head; //对输入的每一个字符,查找当前链表中是否存在该字符 //如果存在则修改该字符结点计数,不存在则新建结点插入表尾 }
时间: 2023-05-30 19:04:40 浏览: 194
inkList CreateList(int n) {
//分配头结点
LinkList head, pre, q, f;
int i;
ElemType e;
pre = head = (LinkList)malloc(sizeof(LNode));
if(head)
head->next = NULL;
else
return head;
//对输入的每一个字符,查找当前链表中是否存在该字符
//如果存在则修改该字符结点计数,不存在则新建结点插入表尾
for(i=0; i<n; i++) {
scanf("%c", &e);
q = head->next;
while(q && q->data != e) {
pre = q;
q = q->next;
}
if(q) {
q->count++;
} else {
f = (LinkList)malloc(sizeof(LNode));
f->data = e;
f->count = 1;
f->next = NULL;
pre->next = f;
pre = f;
}
}
return head;
}
阅读全文