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.
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; }
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.
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.
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; } }
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.
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;
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() {
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?
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;
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)
#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.
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?
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;
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);
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.
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:
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.
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.
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...
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...
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;
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;
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.