Tried the solution here, not resolved. Tried the solution here, still not resolved! Reinstalled the VS 2008 database edition to check (currently has VS 2008 enterprise edition…
using System; using System.Data; using System.Collections; using System.Linq; using System.Text; public class checkString { public static void Main() { string strSource = "ABCacd12"; ReverseString(strSource); } public static void ReverseAString(string str) { int counter =0; counter=str.Length; StringBuilder strReversed = new StringBuilder(); while(counter!=0) { counter--; strReversed.Append(str.ElementAt(counter)); } Console.WriteLine(strReversed.ToString()); } }
I have used C# for this code snippet.
public class checkString { public static void Main() { string strSource = "ABCacd12"; if(CheckString1(strSource)) { Console.WriteLine("Unique!!!"); } else { Console.WriteLine("Not Unique!!!"); } } public static bool CheckString1(string str) { int strLength = str.Length; for(int i=0;i<strLength;i++) { for(int j=i+1;j<strLength;j++) { if(str.ElementAt(i)==str.ElementAt(j)) return false; } } return true; } }
void SLList::removeDuplicates()
{
if(header)
{
Node *temp, *curChkNode, *last;
temp=curChkNode=header;
int curVal=0, length=0, counter=0;
length=sllLength();
cout<<"\nThe length of the list is:\t"<<length;
while(counter!=length && curChkNode)
{
temp=curChkNode->next;
curVal=curChkNode->data;
while(temp)
{
if(curVal==temp->data)
{
cout<<"\nA DUPLICATE IS PRESENT FOR:\t"<<curVal;
last->next=temp->next;
}
last=temp;
temp=temp->next;
}
curChkNode=curChkNode->next;
counter++;
}
}
else
{
cout<<"\nThe list is empty\n";
}
return;
}
The compiler showed the error:
“
error C2470: ‘SLList’ : looks like a function definition, but there is no parameter list; skipping apparent body
“
I had coded this snippet using a notepad and hence after lots of head banging figured out that the issue was a stupid missed (:):
class SLList
{
private:
Node *header;
public:
SLList()
{
header=NULL;
}
void createList();
void displayList();
int sllLength();
void removeDuplicates();
};
:::::::::::::
:::::::::::::::
int SLList:sllLength()
{
int counter=0;
if(header)
{
Node *temp;
temp=header;
while(temp)
{
counter++;
}
delete temp;
}
return counter;
}
should have been:
int SLList::sllLength()
{
int counter=0;
if(header)
{
Node *temp;
temp=header;
while(temp)
{
counter++;
}
delete temp;
}
return counter;
}
#include
using namespace std;
class Node
{
public:
int data;
Node *prev, *next;
Node()
{
data=NULL;
prev=NULL;
next=NULL;
}
};
class dll
{
private:
Node *header;
public:
dll(){
header=NULL;
}
void createList();
void displayList();
void insertEnd();
void deleteFirstNode();
void deleteLastNode();
void deleteNthNode();
};
void dll::deleteFirstNode()
{
if(header)
{
Node *temp;
temp=header;
header=temp->next;
header->prev=NULL;
delete temp;
}
else
{cout<<"\nThe list is empty!\n";}
return;
}
void dll::deleteLastNode()
{
if(header)
{
Node *temp, *last;
temp=header;
while(temp)
{
last=temp;
temp=temp->next;
}
last->prev->next=NULL;
delete last;
delete temp;
}
else
{cout<<"\nThe list is empty!\n";}
return;
}
void dll::deleteNthNode()
{
if(header)
{
Node *temp, *last;
temp=header;
int position=0, counter=0;
cout<<"Enter the node position that you want to delete: \t";
cin>>position;
if(position>=0)
{
while(counter!=position && temp)
{
last=temp;
temp=temp->next;
counter++;
}
if(temp)
{
cout<<"\nThe node that you want to delete has value:\t\n"<data;
last->prev->next=temp;
temp->prev=last->prev;
delete last;
}
else{cout<<"\nThe list does not contain that many elements\n";}
}
}
return;
}
void dll::insertEnd()
{
if(header==NULL)
{
createList();
}
else
{
Node *newNode, *temp, *last;
newNode=new Node;
cout<<"Enter the value for the node:\t";
cin>>newNode->data;
temp=header;
while(temp)
{
last=temp;
temp=temp->next;
}
newNode->next=NULL; //newNode is the new last node
newNode->prev=last;
newNode->prev->next=newNode;
}
return;
}
void dll::createList()
{
int in_val;
Node *temp;
temp=new Node;
cout<<"Enter the value for the node:\t";
cin>>temp->data;
if(header == NULL)
{
//This is the first node in the double linked list
temp->next=NULL;
temp->prev=NULL;
}
else
{
//If this is a new node at the front of an already populated linkedlist
temp->next=header;
temp->next->prev=temp;
header=temp;
}
header=temp;
return;
}
void dll::displayList()
{
Node *temp, *last;
temp=header;
cout<<"Display the list from first to last using the NEXT pointer.\n";
while(temp)
{
cout<data<<"\t"<<endl;
last=temp;
temp=temp->next;
}
/*if(last)
{
cout<<"Display the list from last to last using the PREV pointer.\n";
while(last)
{
cout<data<<"\t"<<endl;
last=last->prev;
}
}*/
}
void main()
{
cout<<"******This is a Doubly Linked List Demo******"<<endl;
int choice=0;
dll objDLL;
do{
cout<<"Enter the opration you want to perform: ";
cout<<"\n1). Add a node at front of the list";
cout<<"\n2). Display a node";
cout<<"\n3). Add a node at end of the list";
cout<<"\n4). Delete the node at head of the list";
cout<<"\n5). Delete the node at tail of the list";
cout<<"\n6). Delete the node at nth position of the list";
cout<<"\n7). Exit\t";
cin>>choice;
switch(choice)
{
case 1: objDLL.createList(); break;
case 2: objDLL.displayList(); break;
case 3: objDLL.insertEnd(); break;
case 4: objDLL.deleteFirstNode();break;
case 5: objDLL.deleteLastNode();break;
case 6: objDLL.deleteNthNode();break;
case 7: exit(0);
default: cout<<"\n Invalid operation/input detected. Please try again later.";
}
}while(choice!=7);
}
The operations to be supported:
1. PUSH
2. POP
3. Check if Empty
4. Check if Full
//I have just created the skeleton. Exception handling is not put in yet.
#include class stack //Class method implementation now stack::~stack() void stack::Push(int inData) //Note that the Pop operation is intended to return the data stored in the top most node and free //that space in the stack bool stack::IsEmpty() void stack::display() void main() <<endl; <<endl; |
#include
using namespace std;
struct node{int data; struct node *next;};
struct node* createlist()
{
node *temp, *firstNodePtr, *last;
int intNumOfNodes=0;
firstNodePtr = (node*)malloc(sizeof(node));
temp=firstNodePtr;
cout<<"Enter the number of nodes you want in the list: ";
cin>>intNumOfNodes;
if(intNumOfNodes!=0)
{
while(intNumOfNodes!=0)
{
temp->next = (node*)malloc(sizeof(node));
cin>>temp->data;
last=temp;
temp=temp->next;
intNumOfNodes–;
}
last->next=NULL;
delete(temp);
}
else
{
firstNodePtr = NULL;
}
return(firstNodePtr);
}
void display(struct node *header)
{
node *ptr = header;
cout<<endl<<"The list is: " ;
while(ptr !=NULL)
{
cout<data<<" ";
ptr=ptr->next;
}
}
void deleteHeader(struct node **ptrHeader)
{
node *current,*temp;
current=*ptrHeader;
temp=current->next;
*ptrHeader = temp;
current=NULL;
display(*ptrHeader);
}
void deleteTail(struct node **ptrHeader)
{
node *last, *temp;
temp=*ptrHeader;
while(temp->next)
{
last=temp;
temp=temp->next;
}
last->next=NULL;
temp=NULL;
display(*ptrHeader);
}
void deleteANode(struct node **header, char choice)
{
if(choice == ‘h’)
{
cout<<"You have chosen to delete the header node!!!"<<endl;
deleteHeader(header);
}
else if(choice == ‘l’)
{
cout<<"You have chosen to delete the last node!!!"<<endl;
deleteTail(header);
}
else
{
node *temp, *last;
int counter=0, intPos=0;
temp=*header;
cout<<"Enter the position of the node that you want to delete."<<endl;
cin>>intPos;
while(counter!=intPos)
{
last=temp;
temp=temp->next;
counter++;
}
last->next = temp->next;
delete(temp);
display(*header);
}
}
void main()
{
node *headerPtr;
node **ptrHeaderPtr;
char choice;
headerPtr = createlist();
if(headerPtr)
{
ptrHeaderPtr = &headerPtr;
display(headerPtr);
cout<<"Which node do you want to delete? (h/p/l): ";
cin>>choice;
deleteANode(ptrHeaderPtr, choice);
//display(headerPtr);
}
else {cout<<"You enterd a 0 value for list size. Exiting…";}
}