Question: write a program that implements a sorted linked list using dynamic allocated arrays. DataFile.txt contains the information of poker cards. 1. C: clubs (lowest), D:
write a program that implements a sorted linked list using dynamic allocated arrays.
DataFile.txt contains the information of poker cards.
1. C: clubs (lowest), D: diamonds, H: hearts, S: spades (highest)
2. 2 (lowest), 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A
3. No Joker cards
4. Any C card is lower than DataFile Content (You can write the file specification into your program.): H4,C8,HJ,C9,D10,D5,DK,D2,S7,DJ,SK,H3,H6,S10,HK,DQ,C2,CJ,C4,CQ,D8,C3,SA,S2,HQ,S8,C6,D9,S3, SQ,C5,S4,H5,SJ,D3,H8,CK,S6,D7,S9,H2,CA,C7,H7,DA,D4,H9,D6,HA,H10,S5,C10
H4, D5, HK, D2
S7, HK, D10
C9,C10
For examples, DJ means J of Diamonds; H7 means 7 of hearts.
Your job
1. Create a list by dynamic allocated array and set the size to 20
2. Read the first 20 cards in the first line of the file, the put them one by one into the list by implementing and using PutItem(). The list must be kept sorted in ascending order. Then output all the cards in the list in one line separating by commas.
3. Then delete the cards indicated in the second line of the file by using DeleteItem Then output all the cards in the list in one line separating by commas.
4. Then put the items in the third line in to the list. Must use PutItem() Then output all the cards in the list in one line separating by commas.
5. Search the current list for the elements in the list. Then output the result as the follows. Yes or No depends on whether the exists in the current list. Must implement and use GetItem()
C9 NO, C10 YES
Following is the code that I wrote. It has many errors, I can't really understand this topic so it would be great if you'd explain how it works in comments.
#include
using namespace std;
struct Node { int x; Node *next; };
public: LinkedList(){ head = NULL; }
void PutItem(int val){ Node *n = new Node(); n->x = val; n->next = head; head = n;
}
void display() { Node *temp=new Node; Node *temp=head; temp=head; while(temp!=NULL) { cout<
temp=temp->next;
} }
void DeleteItem(int pos) { Node *current=new Node; Node *previous=new Node; current=head; for(int i=1;i
string arr(){ int size;
std::cin >> size;
string *array = new string[size];
delete [] array;
return NULL; }
int main() { string fileName; LinkedList list; string line;
bool is_file = false; cout << "Please input the file Name : " << endl; cin >> fileName; ifstream in(fileName);
ifstream inData(fileName.c_str()); if (inData.is_open()) { do { while (getline(inData, line)) // separate { cout << line << endl; istringstream ss(line); string token; int i = 0; while(std::getline(ss, token, ',')) { list.append(stoi(token));
} getline(cin, line);
} list.arr();
inData.close(); return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
