Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <memory.h>
- #include <algorithm>
- class CIntArray
- {
- private:
- unsigned m_rozmiar;
- long long* m_Tablica;
- public:
- CIntArray() { m_rozmiar=1; m_Tablica=new long long[m_rozmiar]; }
- CIntArray(long long rozmiar) { m_rozmiar=rozmiar; m_Tablica=new long long[m_rozmiar]; }
- ~CIntArray(){}
- void UstawElement(unsigned indeks, long long wartosc)
- {
- if(indeks>=m_rozmiar)
- ZmienRozmiar(indeks+1);
- m_Tablica[indeks]=wartosc;
- }
- unsigned PobierzRozmiar() const { return m_rozmiar; }
- void ZmienRozmiar(unsigned NowyRozmiar)
- {
- long long* NowaTablica=new long long[NowyRozmiar];
- memcpy(NowaTablica, m_Tablica, sizeof(long long)*m_rozmiar);
- delete[] m_Tablica;
- m_Tablica=NowaTablica;
- m_rozmiar=NowyRozmiar;
- }
- long long PobierzElement(unsigned indeks) const { return m_Tablica[indeks]; }
- void UsunElement(unsigned indeks)
- {
- long long* NowaTablica=new long long[m_rozmiar-1];
- memcpy(NowaTablica, m_Tablica, sizeof(long long)*(indeks));
- memcpy(NowaTablica+indeks, m_Tablica+indeks+1, sizeof(long long)*(m_rozmiar-indeks-1));
- delete[] m_Tablica;
- m_Tablica=NowaTablica;
- m_rozmiar-=1;
- }
- void Sortuj()
- {
- std::sort(m_Tablica, m_Tablica+m_rozmiar);
- bool deleted;
- do
- {
- deleted = false;
- for (int i=0; i<m_rozmiar-1; ++i)
- if (m_Tablica[i] == m_Tablica[i + 1])
- {
- UsunElement(i);
- deleted = true;
- }
- }while(deleted);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment