Can someone convert this to C language please! #include<iostream> #include<cstdl
ID: 3683365 • Letter: C
Question
Can someone convert this to C language please!
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
//node structure
struct node
{
int dataVal1;
node *nextNode;
}*headPointer1;
//INSERT NODE AT FRONT
void insertFront(node *&headPointer1, int data)
{
node *t1=new node();
node *a;
t1->dataVal1=data;
t1->nextNode=NULL;
if(headPointer1==NULL)
{
headPointer1=t1;
}
else
{
t1->nextNode=headPointer1;
headPointer1=t1;
}
}
//INSERT NODE AT LAST
void insertLast(node *&headPointer1, int data)
{
node *t=new node();
node *a;
t->dataVal1=data;
t->nextNode=NULL;
if(headPointer1==NULL)
{
headPointer1=t;
}
else
{
a=headPointer1;
while(a->nextNode!=NULL)
{
a=a->nextNode;
}
a->nextNode=t;
t->nextNode=NULL;
}
}
//PRINT NODE IN THE LIST
void Print(node *headPointer1)
{
cout<<endl;
node *a=headPointer1;
while(a!=NULL)
{
cout<<a->dataVal1<<" ";
a=a->nextNode;
}
}
//MAXIMUM VALUE IN THE LIST
int Max(node* &headPointer1)
{
int m=0;
node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
while(a->nextNode!=NULL)
{
if(a->dataVal1>m)
m=a->dataVal1;
a=a->nextNode;
}
}
return m;
}
//MINIMUM VALUE IN THE LIST
int Min(node *headPointer1)
{
int m=200;
node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
m=a->dataVal1;
while(a)
{
if(a->dataVal1 < m)
m=a->dataVal1;
a=a->nextNode;
}
}
return m;
}
//FIND LOCATION OF DATA IN THE LIST
int locInList(node *headPointer1,int searchFor)
{
int k=0;
node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
while(a->nextNode!=NULL)
{
if(a->dataVal1==searchFor)
{
return k;
}
else
{
k=k+1;
a=a->nextNode;
}
}
}
return -1;
}
//MAIN METHOD
int main()
{
headPointer1=NULL;
insertFront(headPointer1,4);
insertFront(headPointer1,3);
insertLast(headPointer1,5);
insertLast(headPointer1,6);
Print(headPointer1);
cout<<" Max:"<<Max(headPointer1);
cout<<" Min:"<<Min(headPointer1);
cout<<" locInList 5:"<<locInList(headPointer1,5);
cout<<" locInList 9:"<<locInList(headPointer1,9)<<endl;
system("pause");
return 0;
}
Explanation / Answer
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//node structure
struct node
{
int dataVal1;
struct node *nextNode;
};
struct node *headPointer1;
//INSERT NODE AT FRONT
void insertFront(struct node *headPointer1, int data)
{
struct node *t1=(struct node *)malloc(sizeof(struct node *));
struct node *a;
t1->dataVal1=data;
t1->nextNode=NULL;
if(headPointer1 == NULL)
{
headPointer1=t1;
}
else
{
t1->nextNode=headPointer1;
headPointer1=t1;
}
}
//INSERT NODE AT LAST
void insertLast(struct node *headPointer1, int data)
{
struct node *t;
struct node *a;
t->dataVal1=data;
t->nextNode=NULL;
if(headPointer1==NULL)
{
headPointer1=t;
}
else
{
a=headPointer1;
while(a->nextNode!=NULL)
{
a=a->nextNode;
}
a->nextNode=t;
t->nextNode=NULL;
}
}
//PRINT NODE IN THE LIST
void Print(struct node *headPointer1)
{
printf(" ");
struct node *a=headPointer1;
while(a!=NULL)
{
printf("%d ",a->dataVal1);
a=a->nextNode;
}
}
//MAXIMUM VALUE IN THE LIST
int Max(struct node* headPointer1)
{
int m=0;
struct node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
while(a->nextNode!=NULL)
{
if(a->dataVal1>m)
m=a->dataVal1;
a=a->nextNode;
}
}
return m;
}
//MINIMUM VALUE IN THE LIST
int Min(struct node *headPointer1)
{
int m=200;
struct node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
m=a->dataVal1;
while(a)
{
if(a->dataVal1 < m)
m=a->dataVal1;
a=a->nextNode;
}
}
return m;
}
//FIND LOCATION OF DATA IN THE LIST
int locInList(struct node *headPointer1,int searchFor)
{
int k=0;
struct node *a;
if(headPointer1!=NULL)
{
a=headPointer1;
while(a->nextNode!=NULL)
{
if(a->dataVal1==searchFor)
{
return k;
}
else
{
k=k+1;
a=a->nextNode;
}
}
}
return -1;
}
//MAIN METHOD
int main()
{
headPointer1=NULL;
insertFront(headPointer1,4);
insertFront(headPointer1,3);
insertLast(headPointer1,5);
insertLast(headPointer1,6);
Print(headPointer1);
printf(" Max: %d",Max(headPointer1));
printf(" Min: %d",Min(headPointer1));
printf(" locInList 5: %d",locInList(headPointer1,5));
printf(" locInList 9: %d",locInList(headPointer1,9));
system("pause");
return 0;
}