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; |