Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool CListePalindrome::Inserer(CPalindrome * pUnPalindrome)
- {
- CNoeudPalindrome * pUnNoeud = new CNoeudPalindrome(pUnPalindrome);
- bool bInsertion = false;
- bool bSontEgaux = false;
- if (m_pLePremier == 0)
- {
- m_pLePremier = pUnNoeud;
- bInsertion = true;
- }
- else
- {
- CNoeudPalindrome * pActuel = m_pLePremier;
- // Cas particulier: si l'on insère devant l'item en première position
- if (pUnNoeud->m_pLeElement < pActuel->m_pLeElement)
- {
- m_pLePremier = pUnNoeud;
- pUnNoeud->m_pLeSuivant = pActuel;
- bInsertion = true;
- }
- while ((pActuel->m_pLeSuivant != 0) && (!bInsertion) && (!bSontEgaux))
- {
- if (pUnNoeud->m_pLeElement > pActuel->m_pLeSuivant->m_pLeElement)
- {
- pActuel = pActuel->m_pLeSuivant;
- }
- else if (pUnNoeud->m_pLeElement < pActuel->m_pLeSuivant->m_pLeElement)
- {
- pUnNoeud->m_pLeSuivant = pActuel->m_pLeSuivant;
- pActuel->m_pLeSuivant = pUnNoeud;
- bInsertion = true;
- }
- else
- {
- bSontEgaux = true;
- m_pfncCallBack(pUnNoeud->m_pLeElement);
- }
- }
- }
- return bInsertion;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement