“I bought this guide a few days ago to prepare for my interview with Oracle. Many of the questions they asked me were from this guide. I found this book absolutely great!”
void insert_order(struct node ** list, int val)
{
//construct a node out of value given
struct node *newnode= getnode(); //return malloc(sizeof(struct node));
newnode->data=val;
newnode->next=null;
//structure of node
struct node
{
int data;
struct node * next;
};
void insert_order(struct node ** list, int val)
{
//construct a node out of value given
struct node *newnode= getnode(); //return malloc(sizeof(struct node));
newnode->data=val;
newnode->next=null;
bool sortedinsert(node* head, int val)
{
node* curr = head;
while(curr)
{
if(curr->next)
{
if(curr->next.val > val)
node* newnode = new node(val);
newnode->next = curr->next;
curr->next = newnode;
return 1;
}
}
return -1;
}
my solution (C++):
void insert(int val){
Node* prev, *curr = pHead;
while (!curr && curr->value <= val){
prev = curr;
curr = curr->next;
}
if (!curr){
if (!pHead){
Node* temp = new Node(val);
temp->next = pHead;
pHead = temp;
}
else pHead = new Node(val);
}
else {
Node *temp = new Node(val);
temp->next = curr;
prev->next = temp;
}
}
void insert(node*& s, node* d, node* prev = 0)
{
if (s) {
if (s->data > d->data) {
d->next = s;
if (prev) prev->next = d;
return;
}
else insert(s->next, d, s);
}
else {
((prev) ? prev->next : s) = d;
d->next = 0;
}
}
insert(root, n1);
insert(root, n2);
void insert(Node **NodePtr, Node *NewNode)
{
while(*NodePtr != NULL && *NodePtr-> Value > Value)
{
NodePtr = &(*NodePtr->Next);
}
NewNode->Next = *NodePtr!=NULL?*NodePtr:NULL;
*NodePtr = NewNode;
}
struct node
{
int data;
struct node * next;
};
void insert_order(struct node ** list, int val)
{
//construct a node out of value given
struct node *newnode= getnode(); //return malloc(sizeof(struct node));
newnode->data=val;
newnode->next=null;
//insert a node at proper position
struct node *temp=list;
if(temp==null){
list=newnode;
return;
}
struct node * prev=null;
while(temp!=null && temp->data data )
{
prev=temp;
temp=temp->next;
}
//insert new node netween prev and temp nodes
prev->next=newnode;
newnode->next=temp;
return;
}
correction at one line
while(temp!=null && temp->data data )
read it as
while(temp!=null && temp->data data )
//structure of node
struct node
{
int data;
struct node * next;
};
void insert_order(struct node ** list, int val)
{
//construct a node out of value given
struct node *newnode= getnode(); //return malloc(sizeof(struct node));
newnode->data=val;
newnode->next=null;
//insert a node at proper position
struct node *temp=list;
if(temp==null){
list=newnode;
return;
}
struct node * prev=null;
while(temp!=null && temp->data data )
{
prev=temp;
temp=temp->next;
}
//insert new node netween prev and temp nodes
prev->next=newnode;
newnode->next=temp;
return;
}
Leave an Answer/Comment