链表和这个有什么关系?
明白了。是要把统计结果放到链表里?
// TestCharCount.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
typedef struct _NODE{
char c;
int iCount;
struct _NODE * pNext;
} NODE;
void AddCount(NODE **pHead, char c)
{
NODE *p = *pHead;
NODE *pLast = p;
if (p == NULL)
{
NODE *pNew = new NODE;
pNew->c = c;
pNew->iCount = 0;
pNew->pNext = NULL;
*pHead = pNew;
return;
}
while(p != NULL)
{
if (p->c == c)
{
p->iCount ++;
return;
}
pLast = p;
p = p->pNext;
}
if (p == NULL)
{
NODE *pNew = new NODE;
pNew->c = c;
pNew->iCount = 1;
pNew->pNext = NULL;
pLast->pNext = pNew;
}
}
void DisplayList(NODE *pHead)
{
while(pHead != NULL)
{
printf("%c:%d\n", pHead->c, pHead->iCount);
pHead = pHead ->pNext;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char *s = "lsahdfldaslksadlvsad assakldcliahwdlkasndlkjasdvlkjanslkvnalkfsnvlaksjfnvlaksfnvkalsnfv";
NODE *pHead = NULL;
for(int i = 0; i < strlen(s); i ++)
{
AddCount(&pHead, s[i]);
}
DisplayList(pHead);
return 0;
}
温馨提示:答案为网友推荐,仅供参考