SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Software Engineering Excellence - The key to mastering the Digital Transformation in Organisations
Software Engineering Excellence - The key to mastering the Digital Transformation in Organisations
1.
Daniel Méndez
Software & Systems Engineering
Software Engineering Excellence –
The key to mastering the Digital Transformation in
Organisations
@mendezfe
3.
Industrial (R-)evolution(s)
Digitisation
4
Advancement in
automation,
interconnection
and flexibility
(Today)
Mechanisation
1
Introduction of
production
facilities
(18th century)
Electrisation
2
Introduction of
production lines
base on division
of labour
(19th century)
Electronisation
3
Introduction
of (ICT)
electronics
for production
control
(1970’s)
Economical, political, and societal change (“transformation”)
4.
Enablers of Digital Transformation
§ (ICT) Infrastructure
§ Exponential technological progress
§ Hardware-related progress (smaller, faster, cheaper, more standardised)
§ Software-related progress (methodologies, languages, abstraction)
§ Interconnection & automation
§ Services and information as new resources
§ Vanishing boundaries
➤ New ways of working
➤ New (“digital”) business models,
e.g., by networking and composition
➤ Everything happens in a breath-taking speed
5.
Technology User Reach-out
0 10 20 30 40 50 60 70 80
Angry Birds
Facebook
Internet
TV
Radio
Telephone
Years to reach 50 million users
Source: Citi Digital Strategy Team
6.
* MarcAndreessen (WSJ, 2011)
“Software is eating the world”
7.
Let’s talk about Software
01 int partition(int arr[], int left, int right)
02 {
03 int i = left, j = right;
04 int tmp;
05 int pivot = arr[(left + right) / 2];
06 while (i <= j) {
07 while (arr[i] < pivot)
08 i++;
09 while (arr[j] > pivot)
10 j--;
11 if (i <= j) {
12 tmp = arr[i];
13 arr[i] = arr[j];
14 arr[j] = tmp;
15 i++;
16 j--;
17 }
18 };
19 return i;
20 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
20 lines of code
8.
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
~2.000 lines of code
(Still a toy example…)
9.
100.000 lines of code
(We’re getting somewhere…)
23.
Exemplary Symptoms of the Digital Transformation
The largest taxi
company does not
own any taxi
Source: Tom Goodwin, The Battle Is For The Customer Interface, TechCrunch.com
The largest app
providers barely
develop own apps
The most popular
(social) media
services do not create
own content
28.
As a first step:
Increase awareness about the role of software
What does this mean for my organisation?
29.
The Role of Software in Organisations
§ … as a product
§ … in the product (e.g. automotive, avionic)
§ … for research & development (e.g. in medicine and chemistry)
§ … for information processing (e.g. banking and insurance)
§ … as an infrastructure (e.g. in production and logistics)
What is it for you?
Software Engineering is a new strategic core competence
Software…
30.
Challenges in Today’s Software Engineering
Traditional (legacy) software systems
New level of complexity where traditional approaches don’t scale anymore
§ From specific-purpose data to Big Data to Smart Data (analytics)
§ From Agility over Fast Experimental Cycles to Chaos Engineering
§ From highly specialised teams to interdisciplinary and distributed teams
Next generation of software systems
§ (Evolving) software families
§ Adaptable standard products with value for the individuals
§ Virtualisation / Cloud computing / Software as a service
§ Human-centred software systems
§ Highly connected (cross-domain) systems of systems
§ …
What are yours?
31.
3 Important Principles to Master the Digital Transformation
➤ From ICT governance to more experimentation / failure culture
➤ From centralistic hierarchies to (more) enterprise agility
➤ Rethink the role of the CIO
➤ Methodologies over technologies
➤ Identify your topic expects (you probably have them already)
➤ Cultivate interdisciplinary teams for cross-domain projects
➤ Foster knowledge transfer
➤ Collaborate with research institutions and universities
➤ Better understand needs of customers and employees
Continuous
Learning
Culture
&
Structure
Software
Competence
32.
Further reading
§ Talk by Arnold Picot: Digitalisierung der Arbeitswelt: Zwischen Flexibilisierung und
Polarisierung? (Basis for infographic on slide 2)
§ Tom Goodwin, The Battle Is For The Customer Interface, TechCrunch.com
§ Manfred Broy, Software Eats the World – Zehn Thesen zur strategischen Bedeutung von
Software in Wirtschaftsunternehmen, SEI, 2015 (Basis for discussion on role of software
in organisations and principles)
Image sources
§ http://infobeautiful4.s3.amazonaws.com/2013/10/1276_Lines_of_code_Sep2015_FB.png
(Basis for illustration of software sizes)
§ https://upload.wikimedia.org/wikipedia/commons/d/d6/A-line1913.jpg (Used in slide 2)
References