update
This commit is contained in:
parent
2992f4f408
commit
4f46de8d00
3330 changed files with 394553 additions and 76939 deletions
85
.config/Code/User/History/57a5bb02/rEd2.cpp
Normal file
85
.config/Code/User/History/57a5bb02/rEd2.cpp
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
Rafay Ahmad
|
||||
23I-2526
|
||||
*/
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
class SortedCatalog{
|
||||
int* arr;
|
||||
int size;
|
||||
int i;
|
||||
|
||||
void increaseCapacity(){
|
||||
int* newArr = new int[size*2];
|
||||
for(int j=0;j<size;j++){
|
||||
newArr[j] = arr[j];
|
||||
}
|
||||
delete arr;
|
||||
arr = newArr;
|
||||
size *= 2;
|
||||
}
|
||||
|
||||
public:
|
||||
SortedCatalog() : size(10), i(0){
|
||||
arr = new int[size];
|
||||
}
|
||||
~SortedCatalog(){
|
||||
delete[] arr;
|
||||
}
|
||||
|
||||
void addProduct(int sku){
|
||||
if(i+1 >= size) increaseCapacity();
|
||||
if(i == 0) arr[i] = sku;
|
||||
else{
|
||||
for(int j=0;j<i;j++){
|
||||
if(arr[j] > sku){
|
||||
for(int k=i-1;k>=j;k--){
|
||||
arr[k] = arr[k+1];
|
||||
}
|
||||
arr[j] = sku;
|
||||
}
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
int findProduct(int sku) const{
|
||||
int left = 0;
|
||||
int right = i;
|
||||
int mid;
|
||||
while(left < right){
|
||||
mid = (left + right)/2;
|
||||
if(arr[mid] == sku) return mid;
|
||||
else if(arr[mid] < sku) right = mid-1;
|
||||
else left = mid+1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void printCatalog() const{
|
||||
for(int j=0;j<i;j++){
|
||||
cout<<arr[j]<<" ";
|
||||
}
|
||||
cout<<endl;
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
SortedCatalog catalog;
|
||||
|
||||
catalog.addProduct(5);
|
||||
catalog.addProduct(3);
|
||||
catalog.addProduct(2);
|
||||
catalog.addProduct(10);
|
||||
|
||||
catalog.printCatalog();
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue