Tìm chữ cái xuất hiện ít nhất trong danh sách liên kết

Em muốn tìm chữ cái xuất hiện ít nhất trong dslk bằng hàm Findleast, nhưng em ko biết tại sao giá trị của dp[] lại không tăng lên vậy ạ, em cảm ơn mọi người.

#include <iostream>
using namespace std;
struct Node
{
    char info;
    Node *pNext;
    Node *pPrev;
};
struct DList
{
    Node *pHead;
    Node *pTail;
};
void Init(DList &L)
{
    L.pHead = L.pTail = NULL;
}
Node *GetNode(char x)
{
    Node *p = new Node;
    p->info = x;
    p->pNext = p->pPrev = NULL;
    return p;
}
void AddHead(DList &L, char x)
{
    Node *newele = GetNode(x);
    if (L.pHead == NULL)
    {
        L.pHead = L.pTail = newele;
    }
    else
    {
        newele->pNext = L.pHead;
        L.pHead->pPrev = newele;
        L.pHead = newele;
    }
}
void AddTail(DList &L, char x)
{
    Node *newele = GetNode(x);
    if (L.pTail == NULL)
    {
        L.pHead = L.pTail = newele;
    }
    else
    {
        L.pTail->pNext = newele;
        newele->pPrev = L.pTail;
        L.pTail = newele;
    }
}
void CreateDList(DList &L, int n)
{
    char a;
    for (int i = 1; i <= n; i++)
    {
        cin >> a;
        AddTail(L, a);
    }
}
void PrintDList(DList L)
{
    Node *p = L.pHead;
    while (p != NULL)
    {
        cout << p->info << " ";
        p = p->pNext;
    }
    cout << endl;
}
void FindLeast(DList L)
{
    int i = 0;
    int dp[100] = {0};
    for (Node *temp = L.pHead; temp != NULL; temp = temp->pNext)
    {
        for (Node *temp2 = temp->pNext; temp2 != NULL; temp2 = temp2->pNext)
        {
            if (temp->info == temp2->info)
                dp[i]++;
        }
        i++;
    }
    for (int j = 0; j < i; j++)
    {
        cout << dp[i] << " ";
    }
}
int main()
{
    DList L;
    Init(L);
    int n;
    cin >> n;
    CreateDList(L, n);
    PrintDList(L);
    FindLeast(L);
}
for (int j = 0; j < i; j++)
    {
        cout << dp[i] << " ";
    }

bạn duyệt mảng bằng index j nhưng lại in giá trị ở index i à :sweat_smile:

4 Likes

ơ kìa, em cảm ơn ạ, lâu lâu bị lú ạ

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?