aboutsummaryrefslogtreecommitdiffstats
path: root/Vector.h
diff options
context:
space:
mode:
authorDiogo Ferreira <defer@cyngn.com>2015-01-14 11:13:52 +0000
committerDiogo Ferreira <defer@cyngn.com>2015-01-14 11:38:57 +0000
commit841159c272ac08b1cd5bdef5167a8ce11383fbb5 (patch)
treed7272ef150e58eaa1acc9ab62cf9e6c0aecbc2da /Vector.h
parente1a8535012ab86d3e926bebfb7731dab1eb7320a (diff)
downloadandroid_external_htop-stable/cm-13.0-ZNH2KB.tar.gz
android_external_htop-stable/cm-13.0-ZNH2KB.tar.bz2
android_external_htop-stable/cm-13.0-ZNH2KB.zip
Change-Id: I416c44803b3a79c2fd752e342ea113875fa533e0
Diffstat (limited to 'Vector.h')
-rw-r--r--Vector.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/Vector.h b/Vector.h
index d2b74ce..9b28477 100644
--- a/Vector.h
+++ b/Vector.h
@@ -3,20 +3,15 @@
#ifndef HEADER_Vector
#define HEADER_Vector
/*
-htop
-(C) 2004-2010 Hisham H. Muhammad
+htop - Vector.h
+(C) 2004-2011 Hisham H. Muhammad
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/
#include "Object.h"
-#include <stdlib.h>
-#include <string.h>
-#include <stdbool.h>
-
-#include "debug.h"
-#include <assert.h>
+#define swap(a_,x_,y_) do{ void* tmp_ = a_[x_]; a_[x_] = a_[y_]; a_[y_] = tmp_; }while(0)
#ifndef DEFAULT_SIZE
#define DEFAULT_SIZE -1
@@ -24,16 +19,15 @@ in the source distribution for its full text.
typedef struct Vector_ {
Object **array;
- Object_Compare compare;
+ ObjectClass* type;
int arraySize;
int growthRate;
int items;
- char* vectorType;
bool owner;
} Vector;
-Vector* Vector_new(char* vectorType_, bool owner, int size, Object_Compare compare);
+Vector* Vector_new(ObjectClass* type, bool owner, int size);
void Vector_delete(Vector* this);
@@ -45,7 +39,14 @@ int Vector_count(Vector* this);
void Vector_prune(Vector* this);
-void Vector_sort(Vector* this);
+// If I were to use only one sorting algorithm for both cases, it would probably be this one:
+/*
+
+*/
+
+void Vector_quickSort(Vector* this);
+
+void Vector_insertionSort(Vector* this);
void Vector_insert(Vector* this, int idx, void* data_);
@@ -59,8 +60,16 @@ void Vector_moveDown(Vector* this, int idx);
void Vector_set(Vector* this, int idx, void* data_);
+#ifdef DEBUG
+
extern Object* Vector_get(Vector* this, int idx);
+#else
+
+#define Vector_get(v_, idx_) ((v_)->array[idx_])
+
+#endif
+
extern int Vector_size(Vector* this);
/*