radix sort using dynamic arrays class

Hello, Here's what I'm trying to achieve.
- 1 dynamic array that will increase by one each time a node is added
- 1 dynamic array that will be used to store radix sort of the unsorted array
- Implement radix sort

I am working on the insertion into the unsorted array and I cannot get the correct value to be placed in the array.

radix.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef radix_H
#define radix_H

class radix {

    private:

        int unsorted_size ;
        int sorted_size ;
        int * unsorted_list ;
        int * sorted_list ;

    public:

        radix ( ) ;
        void zero_array ( int arry [ ] , int arry_size ) ;
        int get_unsorted_size ( ) ;
        int get_sorted_size ( ) ;
        void print_list ( int arry [ ] , int arry_size ) ;
        void insert_element ( int unsorted [ ] , int unsortedSize , int to_insert ) ;
        int * get_unsorted_list ( ) ;
        int * get_sorted_list ( ) ;
        void set_unsorted_size ( int new_size ) ;
        void set_sorted_size ( int new_size ) ;
} ;

#endif // radix_H 


radix.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include "radix.h"

using namespace std ;

radix::radix ( ) {

    unsorted_size = 0 ;
    sorted_size = 0 ;
    unsorted_list = new int [ unsorted_size ] ;
    sorted_list = new int [ sorted_size ] ;
    zero_array ( unsorted_list , unsorted_size ) ;
    zero_array ( sorted_list , sorted_size ) ;

}

void radix::zero_array ( int arry [ ] , int arry_size ) {

    for ( int i = 0 ; i < arry_size ; i ++ ) {

        arry [ i ] = 0 ;

    }

}

int radix::get_unsorted_size ( ) {

    return unsorted_size ;

}

int radix::get_sorted_size ( ) {

    return sorted_size ;

}

void radix::print_list ( int arry [ ] , int arry_size ) {

    for ( int i = 0 ; i < arry_size ; i ++ ) {

        cout << arry [ i ] << " " ;

    }

}

int * radix::get_unsorted_list ( ) {

    return unsorted_list ;

}
int * radix::get_sorted_list ( ) {

    return sorted_list ;

}

void radix::insert_element ( int unsorted [ ] , int sortedSize , int to_insert ) {

    if ( get_unsorted_size ( ) == 0 ) {

        set_unsorted_size ( sortedSize + 1 ) ;
        cout << get_unsorted_size ( ) << endl ;
        unsorted = new int [ get_unsorted_size ( ) ] ;
        unsorted [ 0 ] = to_insert ;

    }

    else {



    }

}

void radix::set_unsorted_size ( int new_size ) {

    unsorted_size = new_size ;

}

void radix::set_sorted_size ( int new_size ) {

    sorted_size = new_size ;

}


It will probably take small steps but I hope to get this done at some point.
Topic archived. No new replies allowed.