C++ :: Can't Sort Node Based Upon Value
Apr 22, 2013
I can't sort node based upon there value to sort nodes on the basis of the Nodes value in ascending order
if(Current_Node->get_value() < Last_Current_Node->get_value())
{
temp = Current_Node->get_next();
Current_Node->set_next(Last_Current_Node);
Last_Current_Node->set_next(temp);}
View 3 Replies
ADVERTISEMENT
Feb 20, 2014
I'm trying to figure out how to insert a node into a linked list at a particular location based on a time..I have this declared outside of everything globally.
Code:
struct aTime {
char name[LENGTH];
int time;
struct aTime* next;
};
struct aTime* head = NULL; And then this function that is used to add nodes (aTime structs) to a linked list. It adds the first node fine, but not subsequent ones. I think this is because I have while p-> != NULL but it is always going to be null when the function is called since I create a new aTime struct. So I guess my question is how, after one struct has been added at the beginning, do I point to the head node and traverse the list, insert a node, and make sure everything is still linked? Do I need another temp aTime struct?
Code:
void add_time(char name[LENGTH], int seconds)
{
struct aTime *p;
p = (struct aTime *) malloc(sizeof(struct aTime));
if (head == NULL)
{
strcpy(p->name, name);
p->seconds = seconds;
}
[code]....
View 3 Replies
View Related
Apr 7, 2012
I Need to write a function using C wherein I should do the following:
(i) The function will receive a string in a character pointer
(ii) This string will adhere to the following structure:
"Kentucky+New York+Arizona+Nevada"
The number of states can differ from 4 to 50
The delimiter between States can differ from '+' to ',', hence I would like to pass the delimiter to the function.
(iii) This string should then be sorted alphabetically from left to right.
The above example would then become: "Arizona+Kentucky+Nevada+New York"
(iv) This string needs to be returned from the function using a character pointer.
View 3 Replies
View Related
Apr 12, 2014
I'm attempting to build a column based database, and I'm new to C++ (just wanted to play around with building a column base database "for the fun of it"). I want to construct a very fast radix sort, that would allow me to quickly sort groups of columns based on integer values. My general preference is to take up more RAM to get more performance.
I'd like to build the radix sort by allowing 256 "buckets" to drop values in as I'm sorting. This allows me to sort through a group of 4 byte integers in only 4 passes. But assuming I'm trying to sort a large group of values (say 50+ million), I'm not sure what type of container to use for these. Also note I'm pretty unfamiliar with the "standard library", so below are my thoughts:
Vectors:
-Pros: Easy to use, and very fast for sequential and random access inserts / reads
-Cons: If they have to dynamically resize because a given vector wasn't large enough, this can apparently really slow performance. Unless I make another pass over the numbers before I start sorting, I wouldn't know how big to make individual the individual vectors. This means I either have to make them "too big" and waste space, or pay a performance price for either resizing, or scanning data first.
Lists:
-Pros: Seems like I wouldn't have to specify size ahead of time, so I could just easily insert values to a given list. Also, since I don't need random access reads (I'll ready the "0" list sequentially, then the "1" list, etc. they should work fine.
-Cons: I don't really know much about lists, but I'm not sure how easy it is to append a new value to the end of a list. I've read that standard library lists include both "forward" and "backward" pointers, which I don't need. Also, I find it hard to believe that there isn't some time taken up with memory allocation. If I build a list and append x million records in it, is it calling memory allocation routines x million times?
Or maybe there's another container type I should learn?
Again, my goal is to make this "fast", not "memory efficient". But having said that, the fastest way I could think of (use 256 vectors, each sized equal to the total number of members to be sorted) is just too much memory to burn - 256 times a vector big enough to hold millions of elements is too much.
View 4 Replies
View Related
Apr 22, 2015
I am working on C# Project [Windows Form Application], to update treeview nodes from excelsheet [xls] Cell [row i, Column 3] Values, while on selecting treenode, it should update corresponding Column 4 Value [row i, Column 4]. For me, Treenode are populated successfully, but on selecting the treenode, it always display first Element of treenode [Not selected one].
Populated Treenode from Excel as: [ Update Child Nodes from Column 3 elements [Column 2 Contain Parent node name and Column 3 have Child Node name], if Column 2 Value is same as Parent node name [My Module], update the child nodeunder same Parent node.]
for (int i = 0; i < worksheet.UsedRange.Rows.Count; i++) {
string mynode = ((Excel.Range)worksheet.Cells[i + 1, 3]).Value2.ToString();
string mynode2 = ((Excel.Range)worksheet.Cells[i + 1, 2]).Value2.ToString();
[Code] ....
On selecting the Child Node, it always give 1st Parent node. Instead of Selected Node.
for (int i = 0; i < worksheet.UsedRange.Rows.Count - 2; i++) {
string mynodetext = ((Excel.Range)worksheet.Cells[i + 2, 3]).Value2.ToString();
string mynodetext1 = ((Excel.Range)worksheet.Cells[i + 2, 4]).Value2.ToString();
if (treeView1.SelectedNode.FirstNode.Text == mynodetext) {
this.richTextBox1.SelectedText += Environment.NewLine + mynodetext1 + Environment.NewLine;
}
}
How to get correct selected Node.
View 2 Replies
View Related
Jul 26, 2014
I'm having a hard time figuring how to get my imagelist index 3 icon to display in the nodes "N1" and "V Speeds" below? So, as you can see in the attachment, the closed folder icon is currently shown which is index 0 in the imagelist. But I want index icon 2 to show in these two nodes.
treeView.BeginUpdate();
treeView.Nodes.Clear();
treeView.Nodes.Add(new TreeNode("Checklist"));
[Code].....
View 12 Replies
View Related
May 21, 2013
I have a very big xml file. I read it using by xmlReader. I have problem when i reach to next line:
<title>Abasia<nemod>(-astasia) (hysterical)</nemod></title>
How I can read all that content. I have to have next string at the end: "Abasia (-astasia) (hysterical)".
I tried to use ReadElementContentAsString() for all elements, but elements like this has exception, because it has child element.
View 1 Replies
View Related
Aug 19, 2013
Example radix sort function to sort an array of 64 bit unsigned integers. To allow for variable bin sizes, the array is scanned one time to create a matrix of 8 histograms of 256 counts each, corresponding to the number of instances of each possible 8 bit value in the 8 bytes of each integer, and the histograms are then converted into indices by summing the histograms counts. Then a radix sort is performed using the matrix of indices, post incrementing each index as it is used.
Code:
typedef unsigned long long UI64;
typedef unsigned long long *PUI64;
PUI64 RadixSort(PUI64 pData, PUI64 pTemp, size_t count) {
size_t mIndex[8][256] = {0};
/* index matrix */
PUI64 pDst, pSrc, pTmp;
size_t i,j,m,n;
UI64 u;
[Code]....
View 9 Replies
View Related
Mar 22, 2013
how to sort a 1D array using function sort().but if i have a 2D array how do i sort only 1 row of it (or column)?
View 2 Replies
View Related
Feb 19, 2014
You will write a program that uses a multidimensional array having 3 rows and 8 columns and sorts each of the rows using both a bubble sort and a selection sort.
You must declare the array inside of main. You will have a for loop containing the calls to bubbleSort and selectionSort. You need to pass into function bubbleSort and selectionSort the following: 1) each column of the multidimensional array, 2) the size of the column, and 3) a particular row number of the multidimensional array to be used for printing out the "pass" shown on the following pages.
I keep getting an error that the identifier for bubbleSort and selectionSort is not found. (Error C3861) Also, I feel like I'm missing something in int main() to get it to sort properly.
# include <iostream>
using namespace std;
int main()
{
[Code].....
View 14 Replies
View Related
Nov 11, 2014
learning deleting BST node through recursion. In my class my tutor wrote something like this for BST delete node struc:
struct node{
//data
node* root, *left, *right;
}
why not
struct node{
//data
node* *left, *right;
}
node * root;
whats the difference?
View 5 Replies
View Related
Mar 27, 2013
So the task is to find the node with minimum value of a binary tree (not binary search tree). the input is the pointer to the root of the tree. and i cannot make recursion work when i do if conditions. here is what i have Code: /*function 3-takses as input the pointer to the root of the tree and returns a pointer to the node with the minimum value*/
CPPtr minimumvalue(CPPtr SP){
CPPtr min = NULL; //node of minimum value
if(SP== NULL){ // if there is a node, begin comparing
return NULL;
}
else{
if(SP->data<SP->left->data){ //if the node has smaller value than its left child
min = SP; //update node of minimum value
[code].....
no matter where i call my function i get errors like unhandled exception at some memory. how to use recursion in this?
View 6 Replies
View Related
Oct 12, 2013
How to insert a node and print it out. I am not sure if I am doing this correctly or if I am missing anything. It seems that the head keeps getting overwritten with the most current key and that the nodes are not pointing to each other.
Here is my code so far:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
// Global Declarations
typedef struct {
int key;
[Code]...
View 6 Replies
View Related
May 5, 2013
I'M TRYING TO DELETE FROM THE END OF A LINKLIST...Actually I delete the last node but the problem is that I lost the end of the list, in other words my list leaved of pointing to NULL.I really don't know how to fixed, (it was more easy to delete from head)
Code :
void linkedstack::pop() {
if(head==NULL){
cout<<"The linklist is empty"<<endl;
return;}
else {
node *current=head;
[code]....
View 3 Replies
View Related
May 1, 2013
#include <cstdlib>
#include <iostream>
struct tax_node {
char form; // tax form letter
int version; // tax form number
[Code] ....
I cannot seem to get why function print_contents will not work. The couts at the end of the program is just to test that it printed correctly. But, if I need it to print the contents such when print_contents(ptr2) is called. I think it should be tax_ptr in the parameter list but I am not quite sure.
View 1 Replies
View Related
Mar 28, 2013
So the task is to find the node with minimum value of a binary tree (not binary search tree). the input is the pointer to the root of the tree. and i cannot make recursion work when i do if conditions. here is what i have
CPPtr minimumvalue(CPPtr SP){
CPPtr min = NULL;//node of minimum value
if(SP== NULL){// if there is a node, begin comparing
return NULL;
[Code] ....
No matter where i call my function i get errors like unhandled exception at some memory. How to use recursion in this?
View 1 Replies
View Related
Dec 5, 2014
I create A program that will Add and Display the Link List but I have problem on it. If I add it will inserted in the prev node not in the next node. Here's my source code.
#include <stdio.h>
typedef struct Member {
int id;
char name[256];
struct Member *next;
[Code] ....
View 2 Replies
View Related
Apr 4, 2015
I am working with A.V.L. trees at the moment and I have to implement a program that inserts a node and if needed re-balance the tree.I have problems when I have to do a double rotation because after I insert a node the tree is messed up. This is a picture with what my program shows after i run it. [URL] .....
void length(NodeT* p,int *maxi,int l) {
if (p!=NULL) {
length(p->left,&*maxi,l+1);
if ((p->left==NULL)&&(p->right==NULL)&&(*maxi<l))
*maxi=l;
length(p->right,&*maxi,l+1);
[Code] .....
View 1 Replies
View Related
May 16, 2015
Reversing Linklist using Stack. I have created linklist using <list> STL. Now I want to push address of each node in Stack. For that I want address of 1st node so that I will assign it to "temp" and I can use following loop.
HTML Code:
while (temp != NULL)
{
s.push(temp);
temp = temp->next;
}
But I am not getting address of 1st node. I tried function l1.front() which gives 1st element but not address.
View 2 Replies
View Related
Apr 19, 2013
I have a struct with some select student information. My wish is to be able to have the user type in a surname from the list, and for that entry to be deleted. However I am slipping up for some reason.
Here is the start of my program showing my struct:
Code:
#include <stdio.h>
#include <string.h>
#define NAME_LEN 30
#define LINE_LEN 80
struct record {
[Code] ....
I get the following errors in my while loop as well as the if statement below that loop:
-invalid operands to binary !=
-invalid type of argument '->'
View 7 Replies
View Related
May 17, 2014
This is what I have at the moment which works as I would like but wondering if there is a better way of handling? Currently just making sure I know linked-lists well enough.
Code:
void push_to_end( node_t * headRef, int val ) {
node_t * tail = headRef;
node_t * new_node = malloc( sizeof ( node_t ));
while( headRef != NULL ) {
[Code].....
View 12 Replies
View Related
Feb 18, 2014
I am having trouble with my deleteNode function, using recursion I am trying to delete a node from a binary tree. My tree is displayed as the following...
Tree: (node)->[left child, right child]
(k)->[g,p]
(g)->[c,h]
(c)->[ ,e]
[Code]....
The result did show that it is erased but when I try to add the erase node "t" back into the tree it still exist. I am stumped on what to do when using recursion way of deleting node.
View 4 Replies
View Related
Aug 12, 2013
I'm trying to impliment a simple singly linked list, then allow a user to add a new node. I have mocked up a siimple example to illustrate my point using Linked Lists...
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node {
int x;
struct node *next;
[Code] ....
So I have done things similatr to this in C# and Java but not in C. There maybe some parts of this I'm sure some will disagree with in terms of buffers,overflow etc. but it's just the linked list part that I am interested in at the moment, I am only doing it like this because when it works, I will be extracting the working linked list stuff into another program that can deal with its I/O etc.
I have tried to comment as best I can to demonstarte my intentions and understandings per line of code. The add function needs to add a node of value x that the user has input, and add that to the end of the list - I'm sure that the print function is not doing all its supposed to do...
View 4 Replies
View Related
Mar 2, 2013
If p is a pointer pointing a node to be deleted, then what's wrong in the following code:
cout << "Do you want to delete this record? (y/n) ";
if (getch() == 'y' || getch() == 'Y'){// Delete record.
if (p == *ph){//If first node is to be deleted.
*ph = (*ph)->next;
delete p;
[Code] .....
View 2 Replies
View Related
Feb 27, 2015
I have to write a program which has the user be able to enter a specific value at a specific position of the linkedlist, replacing that node with the user defined value
EX: Enter the value 5 at 2nd node, which will override the old value at the 2nd node with the new one
I am getting a compiler error which terminates my program right after the user presses the return key after he/she has given a position to change the value
Error: Unhandled exception at 0x013C50C1 in Linked(1).exe: 0xC0000005: Access violation reading location 0x0000812B.
I am not going to show the whole code as the problem resides solely on the insert function:
void TheNode::insert(double num, int choice) {
int post = 0;
MyNode *ptr = new MyNode;
(*ptr).value = num;
MyNode *previous = head;
MyNode *current = head->next;
[Code] .....
View 1 Replies
View Related
Dec 2, 2013
I have to do a BST project for school and I am almost there. Here is the code:
BINARY_SEARCH_TREE.cpp
#include "stdafx.h"
#include "genBST.h"
#include <iostream>
using namespace std;
[Code].....
When I run the program, it compiles correctly but does not give any output. I'm not sure what else to do. I've tried changing up the code in nodeCount(), leafCount(), NodeCount(), and LeafCount(). I've tried adding a count variable to both nodeCount() and leafCount() but that didn't work. If I fiddle with the functions, I get a whole mess of errors. Currently, the code is stable but just won't output what I want it to.
View 3 Replies
View Related