Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ Programming Tasks and Code Analysis Task 1 - Task 9 and Analysis Table Pleas

ID: 3709419 • Letter: C

Question

C++ Programming Tasks and Code Analysis

Task 1 - Task 9 and Analysis Table

Please place code below.

(45 Points) Programming Tasks and Code Analysis

Make sure to implement proper coding conventions to receive full credit.

Execute each subtask and complete the analysis table below.

Make sure source code and output are clearly visible.

Functions or classes are ok, the time analysis after the successful implementation of each sort is critical to receiving the full credit.

Task 1:

Functions or classes are ok.

Create an array that holds 1000 random floats between 1-1000.

Implement Selection sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output

Task 2:

Functions or classes are ok.

Create an array that holds 1000 random floats between 1-1000.

Implement Insertion sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output

Task 3:

Functions or classes are ok.

Create an array that holds 1000 random floats between 1-1000.

Implement Quick Sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output


USE THESE VALUES LISTED BELOW TO IMPLEMENT THE MOST DESCENDING AND ASCENDING VALUES. JUST COPY AND PASTE THESE VALUES INTO YOUR PROGRAM.

Mostly Sorted Descending

1000 values

{1001000.0, 10000.0, 9990.0, 9980.0, 9970.0, 9960.0, 9950.0, 9940.0, 9930.0, 9920.0, 9910.0, 9900.0, 9890.0, 9880.0, 9870.0, 9860.0, 9850.0, 9840.0, 9830.0, 9820.0, 9810.0, 9800.0, 9790.0, 9780.0, 9770.0, 976000.0, 9750.0, 9740.0, 9730.0, 9720.0, 9710.0, 9700.0, 9690.0, 9680.0, 9670.0, 9660.0, 9650.0, 9640.0, 9630.0, 9620.0, 9610.0, 9600.0, 9590.0, 9580.0, 9570.0, 9560.0, 9550.0, 9540.0, 9530.0, 9520.0, 951000.0, 9500.0, 9490.0, 9480.0, 9470.0, 9460.0, 9450.0, 9440.0, 9430.0, 9420.0, 9410.0, 9400.0, 9390.0, 9380.0, 9370.0, 9360.0, 9350.0, 9340.0, 9330.0, 9320.0, 9310.0, 9300.0, 9290.0, 9280.0, 9270.0, 926000.0, 9250.0, 9240.0, 9230.0, 9220.0, 9210.0, 9200.0, 9190.0, 9180.0, 9170.0, 9160.0, 9150.0, 9140.0, 9130.0, 9120.0, 9110.0, 9100.0, 9090.0, 9080.0, 9070.0, 9060.0, 9050.0, 9040.0, 9030.0, 9020.0, 901000.0, 9000.0, 8990.0, 8980.0, 8970.0, 8960.0, 8950.0, 8940.0, 8930.0, 8920.0, 8910.0, 8900.0, 8890.0, 8880.0, 8870.0, 8860.0, 8850.0, 8840.0, 8830.0, 8820.0, 8810.0, 8800.0, 8790.0, 8780.0, 8770.0, 876000.0, 8750.0, 8740.0, 8730.0, 8720.0, 8710.0, 8700.0, 8690.0, 8680.0, 8670.0, 8660.0, 8650.0, 8640.0, 8630.0, 8620.0, 8610.0, 8600.0, 8590.0, 8580.0, 8570.0, 8560.0, 8550.0, 8540.0, 8530.0, 8520.0, 851000.0, 8500.0, 8490.0, 8480.0, 8470.0, 8460.0, 8450.0, 8440.0, 8430.0, 8420.0, 8410.0, 8400.0, 8390.0, 8380.0, 8370.0, 8360.0, 8350.0, 8340.0, 8330.0, 8320.0, 8310.0, 8300.0, 8290.0, 8280.0, 8270.0, 826000.0, 8250.0, 8240.0, 8230.0, 8220.0, 8210.0, 8200.0, 8190.0, 8180.0, 8170.0, 8160.0, 8150.0, 8140.0, 8130.0, 8120.0, 8110.0, 8100.0, 8090.0, 8080.0, 8070.0, 8060.0, 8050.0, 8040.0, 8030.0, 8020.0, 801000.0, 8000.0, 7990.0, 7980.0, 7970.0, 7960.0, 7950.0, 7940.0, 7930.0, 7920.0, 7910.0, 7900.0, 7890.0, 7880.0, 7870.0, 7860.0, 7850.0, 7840.0, 7830.0, 7820.0, 7810.0, 7800.0, 7790.0, 7780.0, 7770.0, 776000.0, 7750.0, 7740.0, 7730.0, 7720.0, 7710.0, 7700.0, 7690.0, 7680.0, 7670.0, 7660.0, 7650.0, 7640.0, 7630.0, 7620.0, 7610.0, 7600.0, 7590.0, 7580.0, 7570.0, 7560.0, 7550.0, 7540.0, 7530.0, 7520.0, 751000.0, 7500.0, 7490.0, 7480.0, 7470.0, 7460.0, 7450.0, 7440.0, 7430.0, 7420.0, 7410.0, 7400.0, 7390.0, 7380.0, 7370.0, 7360.0, 7350.0, 7340.0, 7330.0, 7320.0, 7310.0, 7300.0, 7290.0, 7280.0, 7270.0, 726000.0, 7250.0, 7240.0, 7230.0, 7220.0, 7210.0, 7200.0, 7190.0, 7180.0, 7170.0, 7160.0, 7150.0, 7140.0, 7130.0, 7120.0, 7110.0, 7100.0, 7090.0, 7080.0, 7070.0, 7060.0, 7050.0, 7040.0, 7030.0, 7020.0, 701000.0, 7000.0, 6990.0, 6980.0, 6970.0, 6960.0, 6950.0, 6940.0, 6930.0, 6920.0, 6910.0, 6900.0, 6890.0, 6880.0, 6870.0, 6860.0, 6850.0, 6840.0, 6830.0, 6820.0, 6810.0, 6800.0, 6790.0, 6780.0, 6770.0, 676000.0, 6750.0, 6740.0, 6730.0, 6720.0, 6710.0, 6700.0, 6690.0, 6680.0, 6670.0, 6660.0, 6650.0, 6640.0, 6630.0, 6620.0, 6610.0, 6600.0, 6590.0, 6580.0, 6570.0, 6560.0, 6550.0, 6540.0, 6530.0, 6520.0, 651000.0, 6500.0, 6490.0, 6480.0, 6470.0, 6460.0, 6450.0, 6440.0, 6430.0, 6420.0, 6410.0, 6400.0, 6390.0, 6380.0, 6370.0, 6360.0, 6350.0, 6340.0, 6330.0, 6320.0, 6310.0, 6300.0, 6290.0, 6280.0, 6270.0, 626000.0, 6250.0, 6240.0, 6230.0, 6220.0, 6210.0, 6200.0, 6190.0, 6180.0, 6170.0, 6160.0, 6150.0, 6140.0, 6130.0, 6120.0, 6110.0, 6100.0, 6090.0, 6080.0, 6070.0, 6060.0, 6050.0, 6040.0, 6030.0, 6020.0, 601000.0, 6000.0, 5990.0, 5980.0, 5970.0, 5960.0, 5950.0, 5940.0, 5930.0, 5920.0, 5910.0, 5900.0, 5890.0, 5880.0, 5870.0, 5860.0, 5850.0, 5840.0, 5830.0, 5820.0, 5810.0, 5800.0, 5790.0, 5780.0, 5770.0, 576000.0, 5750.0, 5740.0, 5730.0, 5720.0, 5710.0, 5700.0, 5690.0, 5680.0, 5670.0, 5660.0, 5650.0, 5640.0, 5630.0, 5620.0, 5610.0, 5600.0, 5590.0, 5580.0, 5570.0, 5560.0, 5550.0, 5540.0, 5530.0, 5520.0, 551000.0, 5500.0, 5490.0, 5480.0, 5470.0, 5460.0, 5450.0, 5440.0, 5430.0, 5420.0, 5410.0, 5400.0, 5390.0, 5380.0, 5370.0, 5360.0, 5350.0, 5340.0, 5330.0, 5320.0, 5310.0, 5300.0, 5290.0, 5280.0, 5270.0, 526000.0, 5250.0, 5240.0, 5230.0, 5220.0, 5210.0, 5200.0, 5190.0, 5180.0, 5170.0, 5160.0, 5150.0, 5140.0, 5130.0, 5120.0, 5110.0, 5100.0, 5090.0, 5080.0, 5070.0, 5060.0, 5050.0, 5040.0, 5030.0, 5020.0, 501000.0, 5000.0, 4990.0, 4980.0, 4970.0, 4960.0, 4950.0, 4940.0, 4930.0, 4920.0, 4910.0, 4900.0, 4890.0, 4880.0, 4870.0, 4860.0, 4850.0, 4840.0, 4830.0, 4820.0, 4810.0, 4800.0, 4790.0, 4780.0, 4770.0, 476000.0, 4750.0, 4740.0, 4730.0, 4720.0, 4710.0, 4700.0, 4690.0, 4680.0, 4670.0, 4660.0, 4650.0, 4640.0, 4630.0, 4620.0, 4610.0, 4600.0, 4590.0, 4580.0, 4570.0, 4560.0, 4550.0, 4540.0, 4530.0, 4520.0, 451000.0, 4500.0, 4490.0, 4480.0, 4470.0, 4460.0, 4450.0, 4440.0, 4430.0, 4420.0, 4410.0, 4400.0, 4390.0, 4380.0, 4370.0, 4360.0, 4350.0, 4340.0, 4330.0, 4320.0, 4310.0, 4300.0, 4290.0, 4280.0, 4270.0, 426000.0, 4250.0, 4240.0, 4230.0, 4220.0, 4210.0, 4200.0, 4190.0, 4180.0, 4170.0, 4160.0, 4150.0, 4140.0, 4130.0, 4120.0, 4110.0, 4100.0, 4090.0, 4080.0, 4070.0, 4060.0, 4050.0, 4040.0, 4030.0, 4020.0, 401000.0, 4000.0, 3990.0, 3980.0, 3970.0, 3960.0, 3950.0, 3940.0, 3930.0, 3920.0, 3910.0, 3900.0, 3890.0, 3880.0, 3870.0, 3860.0, 3850.0, 3840.0, 3830.0, 3820.0, 3810.0, 3800.0, 3790.0, 3780.0, 3770.0, 376000.0, 3750.0, 3740.0, 3730.0, 3720.0, 3710.0, 3700.0, 3690.0, 3680.0, 3670.0, 3660.0, 3650.0, 3640.0, 3630.0, 3620.0, 3610.0, 3600.0, 3590.0, 3580.0, 3570.0, 3560.0, 3550.0, 3540.0, 3530.0, 3520.0, 351000.0, 3500.0, 3490.0, 3480.0, 3470.0, 3460.0, 3450.0, 3440.0, 3430.0, 3420.0, 3410.0, 3400.0, 3390.0, 3380.0, 3370.0, 3360.0, 3350.0, 3340.0, 3330.0, 3320.0, 3310.0, 3300.0, 3290.0, 3280.0, 3270.0, 326000.0, 3250.0, 3240.0, 3230.0, 3220.0, 3210.0, 3200.0, 3190.0, 3180.0, 3170.0, 3160.0, 3150.0, 3140.0, 3130.0, 3120.0, 3110.0, 3100.0, 3090.0, 3080.0, 3070.0, 3060.0, 3050.0, 3040.0, 3030.0, 3020.0, 301000.0, 3000.0, 2990.0, 2980.0, 2970.0, 2960.0, 2950.0, 2940.0, 2930.0, 2920.0, 2910.0, 2900.0, 2890.0, 2880.0, 2870.0, 2860.0, 2850.0, 2840.0, 2830.0, 2820.0, 2810.0, 2800.0, 2790.0, 2780.0, 2770.0, 276000.0, 2750.0, 2740.0, 2730.0, 2720.0, 2710.0, 2700.0, 2690.0, 2680.0, 2670.0, 2660.0, 2650.0, 2640.0, 2630.0, 2620.0, 2610.0, 2600.0, 2590.0, 2580.0, 2570.0, 2560.0, 2550.0, 2540.0, 2530.0, 2520.0, 251000.0, 2500.0, 2490.0, 2480.0, 2470.0, 2460.0, 2450.0, 2440.0, 2430.0, 2420.0, 2410.0, 2400.0, 2390.0, 2380.0, 2370.0, 2360.0, 2350.0, 2340.0, 2330.0, 2320.0, 2310.0, 2300.0, 2290.0, 2280.0, 2270.0, 226000.0, 2250.0, 2240.0, 2230.0, 2220.0, 2210.0, 2200.0, 2190.0, 2180.0, 2170.0, 2160.0, 2150.0, 2140.0, 2130.0, 2120.0, 2110.0, 2100.0, 2090.0, 2080.0, 2070.0, 2060.0, 2050.0, 2040.0, 2030.0, 2020.0, 201000.0, 2000.0, 1990.0, 1980.0, 1970.0, 1960.0, 1950.0, 1940.0, 1930.0, 1920.0, 1910.0, 1900.0, 1890.0, 1880.0, 1870.0, 1860.0, 1850.0, 1840.0, 1830.0, 1820.0, 1810.0, 1800.0, 1790.0, 1780.0, 1770.0, 176000.0, 1750.0, 1740.0, 1730.0, 1720.0, 1710.0, 1700.0, 1690.0, 1680.0, 1670.0, 1660.0, 1650.0, 1640.0, 1630.0, 1620.0, 1610.0, 1600.0, 1590.0, 1580.0, 1570.0, 1560.0, 1550.0, 1540.0, 1530.0, 1520.0, 151000.0, 1500.0, 1490.0, 1480.0, 1470.0, 1460.0, 1450.0, 1440.0, 1430.0, 1420.0, 1410.0, 1400.0, 1390.0, 1380.0, 1370.0, 1360.0, 1350.0, 1340.0, 1330.0, 1320.0, 1310.0, 1300.0, 1290.0, 1280.0, 1270.0, 126000.0, 1250.0, 1240.0, 1230.0, 1220.0, 1210.0, 1200.0, 1190.0, 1180.0, 1170.0, 1160.0, 1150.0, 1140.0, 1130.0, 1120.0, 1110.0, 1100.0, 1090.0, 1080.0, 1070.0, 1060.0, 1050.0, 1040.0, 1030.0, 1020.0, 101000.0, 1000.0, 990.0, 980.0, 970.0, 960.0, 950.0, 940.0, 930.0, 920.0, 910.0, 900.0, 890.0, 880.0, 870.0, 860.0, 850.0, 840.0, 830.0, 820.0, 810.0, 800.0, 790.0, 780.0, 770.0, 76000.0, 750.0, 740.0, 730.0, 720.0, 710.0, 700.0, 690.0, 680.0, 670.0, 660.0, 650.0, 640.0, 630.0, 620.0, 610.0, 600.0, 590.0, 580.0, 570.0, 560.0, 550.0, 540.0, 530.0, 520.0, 51000.0, 500.0, 490.0, 480.0, 470.0, 460.0, 450.0, 440.0, 430.0, 420.0, 410.0, 400.0, 390.0, 380.0, 370.0, 360.0, 350.0, 340.0, 330.0, 320.0, 310.0, 300.0, 290.0, 280.0, 270.0, 26000.0, 250.0, 240.0, 230.0, 220.0, 210.0, 200.0, 190.0, 180.0, 170.0, 160.0, 150.0, 140.0, 130.0, 120.0, 110.0, 100.0, 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0}

Mostly Sorted Ascending

1000 Values

{1000.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0, 200.0, 210.0, 220.0, 230.0, 240.0, 250.0, 26000.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0, 380.0, 390.0, 400.0, 410.0, 420.0, 430.0, 440.0, 450.0, 460.0, 470.0, 480.0, 490.0, 500.0, 51000.0, 520.0, 530.0, 540.0, 550.0, 560.0, 570.0, 580.0, 590.0, 600.0, 610.0, 620.0, 630.0, 640.0, 650.0, 660.0, 670.0, 680.0, 690.0, 700.0, 710.0, 720.0, 730.0, 740.0, 750.0, 76000.0, 770.0, 780.0, 790.0, 800.0, 810.0, 820.0, 830.0, 840.0, 850.0, 860.0, 870.0, 880.0, 890.0, 900.0, 910.0, 920.0, 930.0, 940.0, 950.0, 960.0, 970.0, 980.0, 990.0, 1000.0, 101000.0, 1020.0, 1030.0, 1040.0, 1050.0, 1060.0, 1070.0, 1080.0, 1090.0, 1100.0, 1110.0, 1120.0, 1130.0, 1140.0, 1150.0, 1160.0, 1170.0, 1180.0, 1190.0, 1200.0, 1210.0, 1220.0, 1230.0, 1240.0, 1250.0, 126000.0, 1270.0, 1280.0, 1290.0, 1300.0, 1310.0, 1320.0, 1330.0, 1340.0, 1350.0, 1360.0, 1370.0, 1380.0, 1390.0, 1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 151000.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 176000.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0, 201000.0, 2020.0, 2030.0, 2040.0, 2050.0, 2060.0, 2070.0, 2080.0, 2090.0, 2100.0, 2110.0, 2120.0, 2130.0, 2140.0, 2150.0, 2160.0, 2170.0, 2180.0, 2190.0, 2200.0, 2210.0, 2220.0, 2230.0, 2240.0, 2250.0, 226000.0, 2270.0, 2280.0, 2290.0, 2300.0, 2310.0, 2320.0, 2330.0, 2340.0, 2350.0, 2360.0, 2370.0, 2380.0, 2390.0, 2400.0, 2410.0, 2420.0, 2430.0, 2440.0, 2450.0, 2460.0, 2470.0, 2480.0, 2490.0, 2500.0, 251000.0, 2520.0, 2530.0, 2540.0, 2550.0, 2560.0, 2570.0, 2580.0, 2590.0, 2600.0, 2610.0, 2620.0, 2630.0, 2640.0, 2650.0, 2660.0, 2670.0, 2680.0, 2690.0, 2700.0, 2710.0, 2720.0, 2730.0, 2740.0, 2750.0, 276000.0, 2770.0, 2780.0, 2790.0, 2800.0, 2810.0, 2820.0, 2830.0, 2840.0, 2850.0, 2860.0, 2870.0, 2880.0, 2890.0, 2900.0, 2910.0, 2920.0, 2930.0, 2940.0, 2950.0, 2960.0, 2970.0, 2980.0, 2990.0, 3000.0, 301000.0, 3020.0, 3030.0, 3040.0, 3050.0, 3060.0, 3070.0, 3080.0, 3090.0, 3100.0, 3110.0, 3120.0, 3130.0, 3140.0, 3150.0, 3160.0, 3170.0, 3180.0, 3190.0, 3200.0, 3210.0, 3220.0, 3230.0, 3240.0, 3250.0, 326000.0, 3270.0, 3280.0, 3290.0, 3300.0, 3310.0, 3320.0, 3330.0, 3340.0, 3350.0, 3360.0, 3370.0, 3380.0, 3390.0, 3400.0, 3410.0, 3420.0, 3430.0, 3440.0, 3450.0, 3460.0, 3470.0, 3480.0, 3490.0, 3500.0, 351000.0, 3520.0, 3530.0, 3540.0, 3550.0, 3560.0, 3570.0, 3580.0, 3590.0, 3600.0, 3610.0, 3620.0, 3630.0, 3640.0, 3650.0, 3660.0, 3670.0, 3680.0, 3690.0, 3700.0, 3710.0, 3720.0, 3730.0, 3740.0, 3750.0, 376000.0, 3770.0, 3780.0, 3790.0, 3800.0, 3810.0, 3820.0, 3830.0, 3840.0, 3850.0, 3860.0, 3870.0, 3880.0, 3890.0, 3900.0, 3910.0, 3920.0, 3930.0, 3940.0, 3950.0, 3960.0, 3970.0, 3980.0, 3990.0, 4000.0, 401000.0, 4020.0, 4030.0, 4040.0, 4050.0, 4060.0, 4070.0, 4080.0, 4090.0, 4100.0, 4110.0, 4120.0, 4130.0, 4140.0, 4150.0, 4160.0, 4170.0, 4180.0, 4190.0, 4200.0, 4210.0, 4220.0, 4230.0, 4240.0, 4250.0, 426000.0, 4270.0, 4280.0, 4290.0, 4300.0, 4310.0, 4320.0, 4330.0, 4340.0, 4350.0, 4360.0, 4370.0, 4380.0, 4390.0, 4400.0, 4410.0, 4420.0, 4430.0, 4440.0, 4450.0, 4460.0, 4470.0, 4480.0, 4490.0, 4500.0, 451000.0, 4520.0, 4530.0, 4540.0, 4550.0, 4560.0, 4570.0, 4580.0, 4590.0, 4600.0, 4610.0, 4620.0, 4630.0, 4640.0, 4650.0, 4660.0, 4670.0, 4680.0, 4690.0, 4700.0, 4710.0, 4720.0, 4730.0, 4740.0, 4750.0, 476000.0, 4770.0, 4780.0, 4790.0, 4800.0, 4810.0, 4820.0, 4830.0, 4840.0, 4850.0, 4860.0, 4870.0, 4880.0, 4890.0, 4900.0, 4910.0, 4920.0, 4930.0, 4940.0, 4950.0, 4960.0, 4970.0, 4980.0, 4990.0, 5000.0, 501000.0, 5020.0, 5030.0, 5040.0, 5050.0, 5060.0, 5070.0, 5080.0, 5090.0, 5100.0, 5110.0, 5120.0, 5130.0, 5140.0, 5150.0, 5160.0, 5170.0, 5180.0, 5190.0, 5200.0, 5210.0, 5220.0, 5230.0, 5240.0, 5250.0, 526000.0, 5270.0, 5280.0, 5290.0, 5300.0, 5310.0, 5320.0, 5330.0, 5340.0, 5350.0, 5360.0, 5370.0, 5380.0, 5390.0, 5400.0, 5410.0, 5420.0, 5430.0, 5440.0, 5450.0, 5460.0, 5470.0, 5480.0, 5490.0, 5500.0, 551000.0, 5520.0, 5530.0, 5540.0, 5550.0, 5560.0, 5570.0, 5580.0, 5590.0, 5600.0, 5610.0, 5620.0, 5630.0, 5640.0, 5650.0, 5660.0, 5670.0, 5680.0, 5690.0, 5700.0, 5710.0, 5720.0, 5730.0, 5740.0, 5750.0, 576000.0, 5770.0, 5780.0, 5790.0, 5800.0, 5810.0, 5820.0, 5830.0, 5840.0, 5850.0, 5860.0, 5870.0, 5880.0, 5890.0, 5900.0, 5910.0, 5920.0, 5930.0, 5940.0, 5950.0, 5960.0, 5970.0, 5980.0, 5990.0, 6000.0, 601000.0, 6020.0, 6030.0, 6040.0, 6050.0, 6060.0, 6070.0, 6080.0, 6090.0, 6100.0, 6110.0, 6120.0, 6130.0, 6140.0, 6150.0, 6160.0, 6170.0, 6180.0, 6190.0, 6200.0, 6210.0, 6220.0, 6230.0, 6240.0, 6250.0, 626000.0, 6270.0, 6280.0, 6290.0, 6300.0, 6310.0, 6320.0, 6330.0, 6340.0, 6350.0, 6360.0, 6370.0, 6380.0, 6390.0, 6400.0, 6410.0, 6420.0, 6430.0, 6440.0, 6450.0, 6460.0, 6470.0, 6480.0, 6490.0, 6500.0, 651000.0, 6520.0, 6530.0, 6540.0, 6550.0, 6560.0, 6570.0, 6580.0, 6590.0, 6600.0, 6610.0, 6620.0, 6630.0, 6640.0, 6650.0, 6660.0, 6670.0, 6680.0, 6690.0, 6700.0, 6710.0, 6720.0, 6730.0, 6740.0, 6750.0, 676000.0, 6770.0, 6780.0, 6790.0, 6800.0, 6810.0, 6820.0, 6830.0, 6840.0, 6850.0, 6860.0, 6870.0, 6880.0, 6890.0, 6900.0, 6910.0, 6920.0, 6930.0, 6940.0, 6950.0, 6960.0, 6970.0, 6980.0, 6990.0, 7000.0, 701000.0, 7020.0, 7030.0, 7040.0, 7050.0, 7060.0, 7070.0, 7080.0, 7090.0, 7100.0, 7110.0, 7120.0, 7130.0, 7140.0, 7150.0, 7160.0, 7170.0, 7180.0, 7190.0, 7200.0, 7210.0, 7220.0, 7230.0, 7240.0, 7250.0, 726000.0, 7270.0, 7280.0, 7290.0, 7300.0, 7310.0, 7320.0, 7330.0, 7340.0, 7350.0, 7360.0, 7370.0, 7380.0, 7390.0, 7400.0, 7410.0, 7420.0, 7430.0, 7440.0, 7450.0, 7460.0, 7470.0, 7480.0, 7490.0, 7500.0, 751000.0, 7520.0, 7530.0, 7540.0, 7550.0, 7560.0, 7570.0, 7580.0, 7590.0, 7600.0, 7610.0, 7620.0, 7630.0, 7640.0, 7650.0, 7660.0, 7670.0, 7680.0, 7690.0, 7700.0, 7710.0, 7720.0, 7730.0, 7740.0, 7750.0, 776000.0, 7770.0, 7780.0, 7790.0, 7800.0, 7810.0, 7820.0, 7830.0, 7840.0, 7850.0, 7860.0, 7870.0, 7880.0, 7890.0, 7900.0, 7910.0, 7920.0, 7930.0, 7940.0, 7950.0, 7960.0, 7970.0, 7980.0, 7990.0, 8000.0, 801000.0, 8020.0, 8030.0, 8040.0, 8050.0, 8060.0, 8070.0, 8080.0, 8090.0, 8100.0, 8110.0, 8120.0, 8130.0, 8140.0, 8150.0, 8160.0, 8170.0, 8180.0, 8190.0, 8200.0, 8210.0, 8220.0, 8230.0, 8240.0, 8250.0, 826000.0, 8270.0, 8280.0, 8290.0, 8300.0, 8310.0, 8320.0, 8330.0, 8340.0, 8350.0, 8360.0, 8370.0, 8380.0, 8390.0, 8400.0, 8410.0, 8420.0, 8430.0, 8440.0, 8450.0, 8460.0, 8470.0, 8480.0, 8490.0, 8500.0, 851000.0, 8520.0, 8530.0, 8540.0, 8550.0, 8560.0, 8570.0, 8580.0, 8590.0, 8600.0, 8610.0, 8620.0, 8630.0, 8640.0, 8650.0, 8660.0, 8670.0, 8680.0, 8690.0, 8700.0, 8710.0, 8720.0, 8730.0, 8740.0, 8750.0, 876000.0, 8770.0, 8780.0, 8790.0, 8800.0, 8810.0, 8820.0, 8830.0, 8840.0, 8850.0, 8860.0, 8870.0, 8880.0, 8890.0, 8900.0, 8910.0, 8920.0, 8930.0, 8940.0, 8950.0, 8960.0, 8970.0, 8980.0, 8990.0, 9000.0, 901000.0, 9020.0, 9030.0, 9040.0, 9050.0, 9060.0, 9070.0, 9080.0, 9090.0, 9100.0, 9110.0, 9120.0, 9130.0, 9140.0, 9150.0, 9160.0, 9170.0, 9180.0, 9190.0, 9200.0, 9210.0, 9220.0, 9230.0, 9240.0, 9250.0, 926000.0, 9270.0, 9280.0, 9290.0, 9300.0, 9310.0, 9320.0, 9330.0, 9340.0, 9350.0, 9360.0, 9370.0, 9380.0, 9390.0, 9400.0, 9410.0, 9420.0, 9430.0, 9440.0, 9450.0, 9460.0, 9470.0, 9480.0, 9490.0, 9500.0, 951000.0, 9520.0, 9530.0, 9540.0, 9550.0, 9560.0, 9570.0, 9580.0, 9590.0, 9600.0, 9610.0, 9620.0, 9630.0, 9640.0, 9650.0, 9660.0, 9670.0, 9680.0, 9690.0, 9700.0, 9710.0, 9720.0, 9730.0, 9740.0, 9750.0, 976000.0, 9770.0, 9780.0, 9790.0, 9800.0, 9810.0, 9820.0, 9830.0, 9840.0, 9850.0, 9860.0, 9870.0, 9880.0, 9890.0, 9900.0, 9910.0, 9920.0, 9930.0, 9940.0, 9950.0, 9960.0, 9970.0, 9980.0, 9990.0, 10000.0, }

Task 4:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Descending.

Implement Selection sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output



Task 5:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Descending.

Implement Insertion sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output


Task 6:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Descending.

Implement Quick sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output



Task 7:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Ascending.

Implement Selection sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output



Task 8:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Ascending

Implement Insertion sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output


Task 9:

Functions or classes are ok.

Initialize an array from the Values.txt Mostly Sorted Ascending.

Implement Quick sort to sort the values in ascending order. Least ? Greatest

Measure the time it takes to execute the sort in milliseconds.

Please run the sort 3 times.

Attach Photos of Source Code and Output


Please analyze the time it took for each algorithm to sort the values. Please explain why the performance differs based upon the nature of the data. Please give thorough answers based upon the syntax of the algorithm and how that impacts the time each algorithm takes to complete the sorting task.

Random

Mostly Sorted Descending

Mostly Sorted Ascending

Selection

Insertion

Quicksort

Please analyze the time it took for each algorithm to sort the values. Please explain why the performance differs based upon the nature of the data. Please give thorough answers based upon the syntax of the algorithm and how that impacts the time each algorithm takes to complete the sorting task.

Random

Mostly Sorted Descending

Mostly Sorted Ascending

Selection

Insertion

Quicksort

Explanation / Answer

Hi, just run the code to see the time take by each task.

Code

#include "stdafx.h"

#include <stdio.h>

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <chrono>

using namespace std;

using namespace std::chrono;

float m_s_desc[1000] = { 1001000.0, 10000.0, 9990.0, 9980.0, 9970.0, 9960.0, 9950.0, 9940.0, 9930.0, 9920.0, 9910.0, 9900.0, 9890.0, 9880.0, 9870.0, 9860.0, 9850.0, 9840.0, 9830.0, 9820.0, 9810.0, 9800.0, 9790.0, 9780.0, 9770.0, 976000.0, 9750.0, 9740.0, 9730.0, 9720.0, 9710.0, 9700.0, 9690.0, 9680.0, 9670.0, 9660.0, 9650.0, 9640.0, 9630.0, 9620.0, 9610.0, 9600.0, 9590.0, 9580.0, 9570.0, 9560.0, 9550.0, 9540.0, 9530.0, 9520.0, 951000.0, 9500.0, 9490.0, 9480.0, 9470.0, 9460.0, 9450.0, 9440.0, 9430.0, 9420.0, 9410.0, 9400.0, 9390.0, 9380.0, 9370.0, 9360.0, 9350.0, 9340.0, 9330.0, 9320.0, 9310.0, 9300.0, 9290.0, 9280.0, 9270.0, 926000.0, 9250.0, 9240.0, 9230.0, 9220.0, 9210.0, 9200.0, 9190.0, 9180.0, 9170.0, 9160.0, 9150.0, 9140.0, 9130.0, 9120.0, 9110.0, 9100.0, 9090.0, 9080.0, 9070.0, 9060.0, 9050.0, 9040.0, 9030.0, 9020.0, 901000.0, 9000.0, 8990.0, 8980.0, 8970.0, 8960.0, 8950.0, 8940.0, 8930.0, 8920.0, 8910.0, 8900.0, 8890.0, 8880.0, 8870.0, 8860.0, 8850.0, 8840.0, 8830.0, 8820.0, 8810.0, 8800.0, 8790.0, 8780.0, 8770.0, 876000.0, 8750.0, 8740.0, 8730.0, 8720.0, 8710.0, 8700.0, 8690.0, 8680.0, 8670.0, 8660.0, 8650.0, 8640.0, 8630.0, 8620.0, 8610.0, 8600.0, 8590.0, 8580.0, 8570.0, 8560.0, 8550.0, 8540.0, 8530.0, 8520.0, 851000.0, 8500.0, 8490.0, 8480.0, 8470.0, 8460.0, 8450.0, 8440.0, 8430.0, 8420.0, 8410.0, 8400.0, 8390.0, 8380.0, 8370.0, 8360.0, 8350.0, 8340.0, 8330.0, 8320.0, 8310.0, 8300.0, 8290.0, 8280.0, 8270.0, 826000.0, 8250.0, 8240.0, 8230.0, 8220.0, 8210.0, 8200.0, 8190.0, 8180.0, 8170.0, 8160.0, 8150.0, 8140.0, 8130.0, 8120.0, 8110.0, 8100.0, 8090.0, 8080.0, 8070.0, 8060.0, 8050.0, 8040.0, 8030.0, 8020.0, 801000.0, 8000.0, 7990.0, 7980.0, 7970.0, 7960.0, 7950.0, 7940.0, 7930.0, 7920.0, 7910.0, 7900.0, 7890.0, 7880.0, 7870.0, 7860.0, 7850.0, 7840.0, 7830.0, 7820.0, 7810.0, 7800.0, 7790.0, 7780.0, 7770.0, 776000.0, 7750.0, 7740.0, 7730.0, 7720.0, 7710.0, 7700.0, 7690.0, 7680.0, 7670.0, 7660.0, 7650.0, 7640.0, 7630.0, 7620.0, 7610.0, 7600.0, 7590.0, 7580.0, 7570.0, 7560.0, 7550.0, 7540.0, 7530.0, 7520.0, 751000.0, 7500.0, 7490.0, 7480.0, 7470.0, 7460.0, 7450.0, 7440.0, 7430.0, 7420.0, 7410.0, 7400.0, 7390.0, 7380.0, 7370.0, 7360.0, 7350.0, 7340.0, 7330.0, 7320.0, 7310.0, 7300.0, 7290.0, 7280.0, 7270.0, 726000.0, 7250.0, 7240.0, 7230.0, 7220.0, 7210.0, 7200.0, 7190.0, 7180.0, 7170.0, 7160.0, 7150.0, 7140.0, 7130.0, 7120.0, 7110.0, 7100.0, 7090.0, 7080.0, 7070.0, 7060.0, 7050.0, 7040.0, 7030.0, 7020.0, 701000.0, 7000.0, 6990.0, 6980.0, 6970.0, 6960.0, 6950.0, 6940.0, 6930.0, 6920.0, 6910.0, 6900.0, 6890.0, 6880.0, 6870.0, 6860.0, 6850.0, 6840.0, 6830.0, 6820.0, 6810.0, 6800.0, 6790.0, 6780.0, 6770.0, 676000.0, 6750.0, 6740.0, 6730.0, 6720.0, 6710.0, 6700.0, 6690.0, 6680.0, 6670.0, 6660.0, 6650.0, 6640.0, 6630.0, 6620.0, 6610.0, 6600.0, 6590.0, 6580.0, 6570.0, 6560.0, 6550.0, 6540.0, 6530.0, 6520.0, 651000.0, 6500.0, 6490.0, 6480.0, 6470.0, 6460.0, 6450.0, 6440.0, 6430.0, 6420.0, 6410.0, 6400.0, 6390.0, 6380.0, 6370.0, 6360.0, 6350.0, 6340.0, 6330.0, 6320.0, 6310.0, 6300.0, 6290.0, 6280.0, 6270.0, 626000.0, 6250.0, 6240.0, 6230.0, 6220.0, 6210.0, 6200.0, 6190.0, 6180.0, 6170.0, 6160.0, 6150.0, 6140.0, 6130.0, 6120.0, 6110.0, 6100.0, 6090.0, 6080.0, 6070.0, 6060.0, 6050.0, 6040.0, 6030.0, 6020.0, 601000.0, 6000.0, 5990.0, 5980.0, 5970.0, 5960.0, 5950.0, 5940.0, 5930.0, 5920.0, 5910.0, 5900.0, 5890.0, 5880.0, 5870.0, 5860.0, 5850.0, 5840.0, 5830.0, 5820.0, 5810.0, 5800.0, 5790.0, 5780.0, 5770.0, 576000.0, 5750.0, 5740.0, 5730.0, 5720.0, 5710.0, 5700.0, 5690.0, 5680.0, 5670.0, 5660.0, 5650.0, 5640.0, 5630.0, 5620.0, 5610.0, 5600.0, 5590.0, 5580.0, 5570.0, 5560.0, 5550.0, 5540.0, 5530.0, 5520.0, 551000.0, 5500.0, 5490.0, 5480.0, 5470.0, 5460.0, 5450.0, 5440.0, 5430.0, 5420.0, 5410.0, 5400.0, 5390.0, 5380.0, 5370.0, 5360.0, 5350.0, 5340.0, 5330.0, 5320.0, 5310.0, 5300.0, 5290.0, 5280.0, 5270.0, 526000.0, 5250.0, 5240.0, 5230.0, 5220.0, 5210.0, 5200.0, 5190.0, 5180.0, 5170.0, 5160.0, 5150.0, 5140.0, 5130.0, 5120.0, 5110.0, 5100.0, 5090.0, 5080.0, 5070.0, 5060.0, 5050.0, 5040.0, 5030.0, 5020.0, 501000.0, 5000.0, 4990.0, 4980.0, 4970.0, 4960.0, 4950.0, 4940.0, 4930.0, 4920.0, 4910.0, 4900.0, 4890.0, 4880.0, 4870.0, 4860.0, 4850.0, 4840.0, 4830.0, 4820.0, 4810.0, 4800.0, 4790.0, 4780.0, 4770.0, 476000.0, 4750.0, 4740.0, 4730.0, 4720.0, 4710.0, 4700.0, 4690.0, 4680.0, 4670.0, 4660.0, 4650.0, 4640.0, 4630.0, 4620.0, 4610.0, 4600.0, 4590.0, 4580.0, 4570.0, 4560.0, 4550.0, 4540.0, 4530.0, 4520.0, 451000.0, 4500.0, 4490.0, 4480.0, 4470.0, 4460.0, 4450.0, 4440.0, 4430.0, 4420.0, 4410.0, 4400.0, 4390.0, 4380.0, 4370.0, 4360.0, 4350.0, 4340.0, 4330.0, 4320.0, 4310.0, 4300.0, 4290.0, 4280.0, 4270.0, 426000.0, 4250.0, 4240.0, 4230.0, 4220.0, 4210.0, 4200.0, 4190.0, 4180.0, 4170.0, 4160.0, 4150.0, 4140.0, 4130.0, 4120.0, 4110.0, 4100.0, 4090.0, 4080.0, 4070.0, 4060.0, 4050.0, 4040.0, 4030.0, 4020.0, 401000.0, 4000.0, 3990.0, 3980.0, 3970.0, 3960.0, 3950.0, 3940.0, 3930.0, 3920.0, 3910.0, 3900.0, 3890.0, 3880.0, 3870.0, 3860.0, 3850.0, 3840.0, 3830.0, 3820.0, 3810.0, 3800.0, 3790.0, 3780.0, 3770.0, 376000.0, 3750.0, 3740.0, 3730.0, 3720.0, 3710.0, 3700.0, 3690.0, 3680.0, 3670.0, 3660.0, 3650.0, 3640.0, 3630.0, 3620.0, 3610.0, 3600.0, 3590.0, 3580.0, 3570.0, 3560.0, 3550.0, 3540.0, 3530.0, 3520.0, 351000.0, 3500.0, 3490.0, 3480.0, 3470.0, 3460.0, 3450.0, 3440.0, 3430.0, 3420.0, 3410.0, 3400.0, 3390.0, 3380.0, 3370.0, 3360.0, 3350.0, 3340.0, 3330.0, 3320.0, 3310.0, 3300.0, 3290.0, 3280.0, 3270.0, 326000.0, 3250.0, 3240.0, 3230.0, 3220.0, 3210.0, 3200.0, 3190.0, 3180.0, 3170.0, 3160.0, 3150.0, 3140.0, 3130.0, 3120.0, 3110.0, 3100.0, 3090.0, 3080.0, 3070.0, 3060.0, 3050.0, 3040.0, 3030.0, 3020.0, 301000.0, 3000.0, 2990.0, 2980.0, 2970.0, 2960.0, 2950.0, 2940.0, 2930.0, 2920.0, 2910.0, 2900.0, 2890.0, 2880.0, 2870.0, 2860.0, 2850.0, 2840.0, 2830.0, 2820.0, 2810.0, 2800.0, 2790.0, 2780.0, 2770.0, 276000.0, 2750.0, 2740.0, 2730.0, 2720.0, 2710.0, 2700.0, 2690.0, 2680.0, 2670.0, 2660.0, 2650.0, 2640.0, 2630.0, 2620.0, 2610.0, 2600.0, 2590.0, 2580.0, 2570.0, 2560.0, 2550.0, 2540.0, 2530.0, 2520.0, 251000.0, 2500.0, 2490.0, 2480.0, 2470.0, 2460.0, 2450.0, 2440.0, 2430.0, 2420.0, 2410.0, 2400.0, 2390.0, 2380.0, 2370.0, 2360.0, 2350.0, 2340.0, 2330.0, 2320.0, 2310.0, 2300.0, 2290.0, 2280.0, 2270.0, 226000.0, 2250.0, 2240.0, 2230.0, 2220.0, 2210.0, 2200.0, 2190.0, 2180.0, 2170.0, 2160.0, 2150.0, 2140.0, 2130.0, 2120.0, 2110.0, 2100.0, 2090.0, 2080.0, 2070.0, 2060.0, 2050.0, 2040.0, 2030.0, 2020.0, 201000.0, 2000.0, 1990.0, 1980.0, 1970.0, 1960.0, 1950.0, 1940.0, 1930.0, 1920.0, 1910.0, 1900.0, 1890.0, 1880.0, 1870.0, 1860.0, 1850.0, 1840.0, 1830.0, 1820.0, 1810.0, 1800.0, 1790.0, 1780.0, 1770.0, 176000.0, 1750.0, 1740.0, 1730.0, 1720.0, 1710.0, 1700.0, 1690.0, 1680.0, 1670.0, 1660.0, 1650.0, 1640.0, 1630.0, 1620.0, 1610.0, 1600.0, 1590.0, 1580.0, 1570.0, 1560.0, 1550.0, 1540.0, 1530.0, 1520.0, 151000.0, 1500.0, 1490.0, 1480.0, 1470.0, 1460.0, 1450.0, 1440.0, 1430.0, 1420.0, 1410.0, 1400.0, 1390.0, 1380.0, 1370.0, 1360.0, 1350.0, 1340.0, 1330.0, 1320.0, 1310.0, 1300.0, 1290.0, 1280.0, 1270.0, 126000.0, 1250.0, 1240.0, 1230.0, 1220.0, 1210.0, 1200.0, 1190.0, 1180.0, 1170.0, 1160.0, 1150.0, 1140.0, 1130.0, 1120.0, 1110.0, 1100.0, 1090.0, 1080.0, 1070.0, 1060.0, 1050.0, 1040.0, 1030.0, 1020.0, 101000.0, 1000.0, 990.0, 980.0, 970.0, 960.0, 950.0, 940.0, 930.0, 920.0, 910.0, 900.0, 890.0, 880.0, 870.0, 860.0, 850.0, 840.0, 830.0, 820.0, 810.0, 800.0, 790.0, 780.0, 770.0, 76000.0, 750.0, 740.0, 730.0, 720.0, 710.0, 700.0, 690.0, 680.0, 670.0, 660.0, 650.0, 640.0, 630.0, 620.0, 610.0, 600.0, 590.0, 580.0, 570.0, 560.0, 550.0, 540.0, 530.0, 520.0, 51000.0, 500.0, 490.0, 480.0, 470.0, 460.0, 450.0, 440.0, 430.0, 420.0, 410.0, 400.0, 390.0, 380.0, 370.0, 360.0, 350.0, 340.0, 330.0, 320.0, 310.0, 300.0, 290.0, 280.0, 270.0, 26000.0, 250.0, 240.0, 230.0, 220.0, 210.0, 200.0, 190.0, 180.0, 170.0, 160.0, 150.0, 140.0, 130.0, 120.0, 110.0, 100.0, 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0 };

float m_s_asc[1000] = { 1000.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0, 200.0, 210.0, 220.0, 230.0, 240.0, 250.0, 26000.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0, 380.0, 390.0, 400.0, 410.0, 420.0, 430.0, 440.0, 450.0, 460.0, 470.0, 480.0, 490.0, 500.0, 51000.0, 520.0, 530.0, 540.0, 550.0, 560.0, 570.0, 580.0, 590.0, 600.0, 610.0, 620.0, 630.0, 640.0, 650.0, 660.0, 670.0, 680.0, 690.0, 700.0, 710.0, 720.0, 730.0, 740.0, 750.0, 76000.0, 770.0, 780.0, 790.0, 800.0, 810.0, 820.0, 830.0, 840.0, 850.0, 860.0, 870.0, 880.0, 890.0, 900.0, 910.0, 920.0, 930.0, 940.0, 950.0, 960.0, 970.0, 980.0, 990.0, 1000.0, 101000.0, 1020.0, 1030.0, 1040.0, 1050.0, 1060.0, 1070.0, 1080.0, 1090.0, 1100.0, 1110.0, 1120.0, 1130.0, 1140.0, 1150.0, 1160.0, 1170.0, 1180.0, 1190.0, 1200.0, 1210.0, 1220.0, 1230.0, 1240.0, 1250.0, 126000.0, 1270.0, 1280.0, 1290.0, 1300.0, 1310.0, 1320.0, 1330.0, 1340.0, 1350.0, 1360.0, 1370.0, 1380.0, 1390.0, 1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 151000.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 176000.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0, 201000.0, 2020.0, 2030.0, 2040.0, 2050.0, 2060.0, 2070.0, 2080.0, 2090.0, 2100.0, 2110.0, 2120.0, 2130.0, 2140.0, 2150.0, 2160.0, 2170.0, 2180.0, 2190.0, 2200.0, 2210.0, 2220.0, 2230.0, 2240.0, 2250.0, 226000.0, 2270.0, 2280.0, 2290.0, 2300.0, 2310.0, 2320.0, 2330.0, 2340.0, 2350.0, 2360.0, 2370.0, 2380.0, 2390.0, 2400.0, 2410.0, 2420.0, 2430.0, 2440.0, 2450.0, 2460.0, 2470.0, 2480.0, 2490.0, 2500.0, 251000.0, 2520.0, 2530.0, 2540.0, 2550.0, 2560.0, 2570.0, 2580.0, 2590.0, 2600.0, 2610.0, 2620.0, 2630.0, 2640.0, 2650.0, 2660.0, 2670.0, 2680.0, 2690.0, 2700.0, 2710.0, 2720.0, 2730.0, 2740.0, 2750.0, 276000.0, 2770.0, 2780.0, 2790.0, 2800.0, 2810.0, 2820.0, 2830.0, 2840.0, 2850.0, 2860.0, 2870.0, 2880.0, 2890.0, 2900.0, 2910.0, 2920.0, 2930.0, 2940.0, 2950.0, 2960.0, 2970.0, 2980.0, 2990.0, 3000.0, 301000.0, 3020.0, 3030.0, 3040.0, 3050.0, 3060.0, 3070.0, 3080.0, 3090.0, 3100.0, 3110.0, 3120.0, 3130.0, 3140.0, 3150.0, 3160.0, 3170.0, 3180.0, 3190.0, 3200.0, 3210.0, 3220.0, 3230.0, 3240.0, 3250.0, 326000.0, 3270.0, 3280.0, 3290.0, 3300.0, 3310.0, 3320.0, 3330.0, 3340.0, 3350.0, 3360.0, 3370.0, 3380.0, 3390.0, 3400.0, 3410.0, 3420.0, 3430.0, 3440.0, 3450.0, 3460.0, 3470.0, 3480.0, 3490.0, 3500.0, 351000.0, 3520.0, 3530.0, 3540.0, 3550.0, 3560.0, 3570.0, 3580.0, 3590.0, 3600.0, 3610.0, 3620.0, 3630.0, 3640.0, 3650.0, 3660.0, 3670.0, 3680.0, 3690.0, 3700.0, 3710.0, 3720.0, 3730.0, 3740.0, 3750.0, 376000.0, 3770.0, 3780.0, 3790.0, 3800.0, 3810.0, 3820.0, 3830.0, 3840.0, 3850.0, 3860.0, 3870.0, 3880.0, 3890.0, 3900.0, 3910.0, 3920.0, 3930.0, 3940.0, 3950.0, 3960.0, 3970.0, 3980.0, 3990.0, 4000.0, 401000.0, 4020.0, 4030.0, 4040.0, 4050.0, 4060.0, 4070.0, 4080.0, 4090.0, 4100.0, 4110.0, 4120.0, 4130.0, 4140.0, 4150.0, 4160.0, 4170.0, 4180.0, 4190.0, 4200.0, 4210.0, 4220.0, 4230.0, 4240.0, 4250.0, 426000.0, 4270.0, 4280.0, 4290.0, 4300.0, 4310.0, 4320.0, 4330.0, 4340.0, 4350.0, 4360.0, 4370.0, 4380.0, 4390.0, 4400.0, 4410.0, 4420.0, 4430.0, 4440.0, 4450.0, 4460.0, 4470.0, 4480.0, 4490.0, 4500.0, 451000.0, 4520.0, 4530.0, 4540.0, 4550.0, 4560.0, 4570.0, 4580.0, 4590.0, 4600.0, 4610.0, 4620.0, 4630.0, 4640.0, 4650.0, 4660.0, 4670.0, 4680.0, 4690.0, 4700.0, 4710.0, 4720.0, 4730.0, 4740.0, 4750.0, 476000.0, 4770.0, 4780.0, 4790.0, 4800.0, 4810.0, 4820.0, 4830.0, 4840.0, 4850.0, 4860.0, 4870.0, 4880.0, 4890.0, 4900.0, 4910.0, 4920.0, 4930.0, 4940.0, 4950.0, 4960.0, 4970.0, 4980.0, 4990.0, 5000.0, 501000.0, 5020.0, 5030.0, 5040.0, 5050.0, 5060.0, 5070.0, 5080.0, 5090.0, 5100.0, 5110.0, 5120.0, 5130.0, 5140.0, 5150.0, 5160.0, 5170.0, 5180.0, 5190.0, 5200.0, 5210.0, 5220.0, 5230.0, 5240.0, 5250.0, 526000.0, 5270.0, 5280.0, 5290.0, 5300.0, 5310.0, 5320.0, 5330.0, 5340.0, 5350.0, 5360.0, 5370.0, 5380.0, 5390.0, 5400.0, 5410.0, 5420.0, 5430.0, 5440.0, 5450.0, 5460.0, 5470.0, 5480.0, 5490.0, 5500.0, 551000.0, 5520.0, 5530.0, 5540.0, 5550.0, 5560.0, 5570.0, 5580.0, 5590.0, 5600.0, 5610.0, 5620.0, 5630.0, 5640.0, 5650.0, 5660.0, 5670.0, 5680.0, 5690.0, 5700.0, 5710.0, 5720.0, 5730.0, 5740.0, 5750.0, 576000.0, 5770.0, 5780.0, 5790.0, 5800.0, 5810.0, 5820.0, 5830.0, 5840.0, 5850.0, 5860.0, 5870.0, 5880.0, 5890.0, 5900.0, 5910.0, 5920.0, 5930.0, 5940.0, 5950.0, 5960.0, 5970.0, 5980.0, 5990.0, 6000.0, 601000.0, 6020.0, 6030.0, 6040.0, 6050.0, 6060.0, 6070.0, 6080.0, 6090.0, 6100.0, 6110.0, 6120.0, 6130.0, 6140.0, 6150.0, 6160.0, 6170.0, 6180.0, 6190.0, 6200.0, 6210.0, 6220.0, 6230.0, 6240.0, 6250.0, 626000.0, 6270.0, 6280.0, 6290.0, 6300.0, 6310.0, 6320.0, 6330.0, 6340.0, 6350.0, 6360.0, 6370.0, 6380.0, 6390.0, 6400.0, 6410.0, 6420.0, 6430.0, 6440.0, 6450.0, 6460.0, 6470.0, 6480.0, 6490.0, 6500.0, 651000.0, 6520.0, 6530.0, 6540.0, 6550.0, 6560.0, 6570.0, 6580.0, 6590.0, 6600.0, 6610.0, 6620.0, 6630.0, 6640.0, 6650.0, 6660.0, 6670.0, 6680.0, 6690.0, 6700.0, 6710.0, 6720.0, 6730.0, 6740.0, 6750.0, 676000.0, 6770.0, 6780.0, 6790.0, 6800.0, 6810.0, 6820.0, 6830.0, 6840.0, 6850.0, 6860.0, 6870.0, 6880.0, 6890.0, 6900.0, 6910.0, 6920.0, 6930.0, 6940.0, 6950.0, 6960.0, 6970.0, 6980.0, 6990.0, 7000.0, 701000.0, 7020.0, 7030.0, 7040.0, 7050.0, 7060.0, 7070.0, 7080.0, 7090.0, 7100.0, 7110.0, 7120.0, 7130.0, 7140.0, 7150.0, 7160.0, 7170.0, 7180.0, 7190.0, 7200.0, 7210.0, 7220.0, 7230.0, 7240.0, 7250.0, 726000.0, 7270.0, 7280.0, 7290.0, 7300.0, 7310.0, 7320.0, 7330.0, 7340.0, 7350.0, 7360.0, 7370.0, 7380.0, 7390.0, 7400.0, 7410.0, 7420.0, 7430.0, 7440.0, 7450.0, 7460.0, 7470.0, 7480.0, 7490.0, 7500.0, 751000.0, 7520.0, 7530.0, 7540.0, 7550.0, 7560.0, 7570.0, 7580.0, 7590.0, 7600.0, 7610.0, 7620.0, 7630.0, 7640.0, 7650.0, 7660.0, 7670.0, 7680.0, 7690.0, 7700.0, 7710.0, 7720.0, 7730.0, 7740.0, 7750.0, 776000.0, 7770.0, 7780.0, 7790.0, 7800.0, 7810.0, 7820.0, 7830.0, 7840.0, 7850.0, 7860.0, 7870.0, 7880.0, 7890.0, 7900.0, 7910.0, 7920.0, 7930.0, 7940.0, 7950.0, 7960.0, 7970.0, 7980.0, 7990.0, 8000.0, 801000.0, 8020.0, 8030.0, 8040.0, 8050.0, 8060.0, 8070.0, 8080.0, 8090.0, 8100.0, 8110.0, 8120.0, 8130.0, 8140.0, 8150.0, 8160.0, 8170.0, 8180.0, 8190.0, 8200.0, 8210.0, 8220.0, 8230.0, 8240.0, 8250.0, 826000.0, 8270.0, 8280.0, 8290.0, 8300.0, 8310.0, 8320.0, 8330.0, 8340.0, 8350.0, 8360.0, 8370.0, 8380.0, 8390.0, 8400.0, 8410.0, 8420.0, 8430.0, 8440.0, 8450.0, 8460.0, 8470.0, 8480.0, 8490.0, 8500.0, 851000.0, 8520.0, 8530.0, 8540.0, 8550.0, 8560.0, 8570.0, 8580.0, 8590.0, 8600.0, 8610.0, 8620.0, 8630.0, 8640.0, 8650.0, 8660.0, 8670.0, 8680.0, 8690.0, 8700.0, 8710.0, 8720.0, 8730.0, 8740.0, 8750.0, 876000.0, 8770.0, 8780.0, 8790.0, 8800.0, 8810.0, 8820.0, 8830.0, 8840.0, 8850.0, 8860.0, 8870.0, 8880.0, 8890.0, 8900.0, 8910.0, 8920.0, 8930.0, 8940.0, 8950.0, 8960.0, 8970.0, 8980.0, 8990.0, 9000.0, 901000.0, 9020.0, 9030.0, 9040.0, 9050.0, 9060.0, 9070.0, 9080.0, 9090.0, 9100.0, 9110.0, 9120.0, 9130.0, 9140.0, 9150.0, 9160.0, 9170.0, 9180.0, 9190.0, 9200.0, 9210.0, 9220.0, 9230.0, 9240.0, 9250.0, 926000.0, 9270.0, 9280.0, 9290.0, 9300.0, 9310.0, 9320.0, 9330.0, 9340.0, 9350.0, 9360.0, 9370.0, 9380.0, 9390.0, 9400.0, 9410.0, 9420.0, 9430.0, 9440.0, 9450.0, 9460.0, 9470.0, 9480.0, 9490.0, 9500.0, 951000.0, 9520.0, 9530.0, 9540.0, 9550.0, 9560.0, 9570.0, 9580.0, 9590.0, 9600.0, 9610.0, 9620.0, 9630.0, 9640.0, 9650.0, 9660.0, 9670.0, 9680.0, 9690.0, 9700.0, 9710.0, 9720.0, 9730.0, 9740.0, 9750.0, 976000.0, 9770.0, 9780.0, 9790.0, 9800.0, 9810.0, 9820.0, 9830.0, 9840.0, 9850.0, 9860.0, 9870.0, 9880.0, 9890.0, 9900.0, 9910.0, 9920.0, 9930.0, 9940.0, 9950.0, 9960.0, 9970.0, 9980.0, 9990.0, 10000.0};

void swap(float *xp, float *yp)

{

               float temp = *xp;

               *xp = *yp;

               *yp = temp;

}

void selectionSort(float arr[], int n)

{

               int i, j, min_idx;

               for (i = 0; i < n - 1; i++)

               {

                              min_idx = i;

                              for (j = i + 1; j < n; j++)

                                             if (arr[j] < arr[min_idx])

                                                            min_idx = j;

                              swap(&arr[min_idx], &arr[i]);

               }

}

void insertionSort(float arr[], int n)

{

               int i, j;

               float key;

               for (i = 1; i < n; i++)

               {

                              key = arr[i];

                              j = i - 1;

                              while (j >= 0 && arr[j] > key)

                              {

                                             arr[j + 1] = arr[j];

                                             j = j - 1;

                              }

                              arr[j + 1] = key;

               }

}

int partition(float arr[], int low, int high)

{

               float pivot = arr[high];

               int i = (low - 1);

               for (int j = low; j <= high - 1; j++)

               {

                              if (arr[j] <= pivot)

                              {

                                             i++;

                                             swap(&arr[i], &arr[j]);

                              }

               }

               swap(&arr[i + 1], &arr[high]);

               return (i + 1);

}

void quickSort(float arr[], int low, int high)

{

               if (low < high)

               {

                              int pi = partition(arr, low, high);

                              quickSort(arr, low, pi - 1);

                              quickSort(arr, pi + 1, high);

               }

}

void printFloatArray(float arr[], int size)

{

               int i;

               for (i = 0; i < size; i++)

                              printf("%f ", arr[i]);

               printf(" ");

}

void task1()

{

               float arr[1000];

               srand((unsigned int)time(NULL));

               for (int i = 0; i < 1000; i++)

               {

                              float num = 1 + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX / 999));

                              arr[i] = num;

               }

               int n = 1000;

               auto start_time = high_resolution_clock::now();

               selectionSort(arr, n);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 1." << endl;

}

void task2()

{

               float arr[1000];

               srand((unsigned int)time(NULL));

               for (int i = 0; i < 1000; i++)

               {

                              float num = 1 + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX / 999));

                              arr[i] = num;

               }

               int n = 1000;

               auto start_time = high_resolution_clock::now();

               insertionSort(arr, n);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 2." << endl;

}

void task3()

{

               float arr[1000];

               srand((unsigned int)time(NULL));

               for (int i = 0; i < 1000; i++)

               {

                              float num = 1 + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX / 999));

                              arr[i] = num;

               }

               auto start_time = high_resolution_clock::now();

               quickSort(arr, 0, 999);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 3." << endl;

}

void task4()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_desc[i];

               }

               auto start_time = high_resolution_clock::now();

               selectionSort(arr, 1000);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 4." << endl;

}

void task5()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_desc[i];

               }

               auto start_time = high_resolution_clock::now();

               insertionSort(arr, 1000);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 5." << endl;

}

void task6()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_desc[i];

               }

               auto start_time = high_resolution_clock::now();

               quickSort(arr, 0, 999);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 6." << endl;

}

void task7()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_asc[i];

               }

               auto start_time = high_resolution_clock::now();

               selectionSort(arr, 1000);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 7." << endl;

}

void task8()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_asc[i];

               }

               auto start_time = high_resolution_clock::now();

               insertionSort(arr, 1000);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 8." << endl;

}

void task9()

{

               float arr[1000];

               for (int i = 0; i < 1000; i++)

               {

                              arr[i] = m_s_asc[i];

               }

               auto start_time = high_resolution_clock::now();

               quickSort(arr, 0, 999);

               auto end_time = high_resolution_clock::now();

               auto duration = duration_cast<microseconds>(end_time - start_time);

               cout << "Total time taken: " << duration.count() << " milliseconds for task 9." << endl;

}

int main()

{

               // 1.

              

               for (int i = 0; i < 3; i++)

               {             

                              task1();

               }

               cout << endl;

               //2.

               for (int i = 0; i < 3; i++)

               {

                              task2();

               }

               cout << endl;

               //3.

               for (int i = 0; i < 3; i++)

               {

                              task3();

               }

               cout << endl;

               //4.

               for (int i = 0; i < 3; i++)

               {

                              task4();

               }

               cout << endl;

               //5.

               for (int i = 0; i < 3; i++)

               {

                              task5();

               }

               cout << endl;

               //6.

               for (int i = 0; i < 3; i++)

               {

                              task6();

               }

               cout << endl;

               //7.

               for (int i = 0; i < 3; i++)

               {

                              task7();

               }

               cout << endl;

               //8.

               for (int i = 0; i < 3; i++)

               {

                              task8();

               }

               cout << endl;

               //9.

               for (int i = 0; i < 3; i++)

               {

                              task9();

               }

               cout << endl;

               return 0;

}

Table values (based on average calculation on running the sorting 3 times)


(milliseconds)

Random

Mostly Sorted Descending

Mostly Sorted Ascending

Selection

1533

1521

1612

Insertion

896

1614

164

Quicksort

320

7542

16481


(milliseconds)

Random

Mostly Sorted Descending

Mostly Sorted Ascending

Selection

1533

1521

1612

Insertion

896

1614

164

Quicksort

320

7542

16481

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote