Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Daniel Méndez
Software & Systems Engineering
Software Engineering Excellence –
The key to mastering the Digital Transforma...
http://zentrum-digitalisierung.bayern
Industrial (R-)evolution(s)
Digitisation
4
Advancement in
automation,
interconnection
and flexibility
(Today)
Mechanisatio...
Enablers of Digital Transformation
§ (ICT) Infrastructure
§ Exponential technological progress
§ Hardware-related progress...
Technology User Reach-out
0 10 20 30 40 50 60 70 80
Angry Birds
Facebook
Internet
TV
Radio
Telephone
Years to reach 50 mil...
* MarcAndreessen (WSJ, 2011)
“Software is eating the world”
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...
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 p...
100.000 lines of code
(We’re getting somewhere…)
100.000 lines of code
Typical
iPhone app
Typical
iPhone app
Hubble Space
Telescope
Typical
iPhone app
Hubble Space
Telescope
Mars Curiosity
Rover
10.000.000 lines of code
Typical
iPhone app
Hubble Space
Telescope
Mars Curiosity
Rover
Firefox browser
10.000.000 lines of code
Large Hydron Collider
Large Hydron Collider
Facebook
Large Hydron Collider
Facebook
Modern high-end car
Large Hydron Collider
Facebook
Modern high-end car
Total DNA* of a mouse
(*base pairs in genome)
Large Hydron Collider
Facebook
Modern high-end car
Total DNA* of a mouse
(*base pairs in genome)
Google codebase
2.000.000...
“Software is eating the world”, indeed
* MarcAndreessen (WSJ, 2011)
Software-driven Transformation swallows
all Industrial Sectors
(Higher)
Education
?
…
Exemplary Symptoms of the Digital Transformation
The largest taxi
company does not
own any taxi
Source: Tom Goodwin, The B...
What is their business model?
?
In	Mrd.	USD USA Asien
JD.com 48
Salesforce.com 49
priceline.com 63
Baidu 72
eBay 73
Tencent Holding 190
Amazon 199
Faceb...
Meanwhile, Digitisation in Germany as it is perceived
How to master the Digital Transformation?
As a first step:
Increase awareness about the role of software
What does this mean for my organisation?
The Role of Software in Organisations
§ … as a product
§ … in the product (e.g. automotive, avionic)
§ … for research & de...
Challenges in Today’s Software Engineering
Traditional (legacy) software systems
New level of complexity where traditional...
3 Important Principles to Master the Digital Transformation
➤ From ICT governance to more experimentation / failure cultur...
Further reading
§ Talk by Arnold Picot: Digitalisierung der Arbeitswelt: Zwischen Flexibilisierung und
Polarisierung? (Bas...
Upcoming SlideShare
Loading in …5
×

Software Engineering Excellence - The key to mastering the Digital Transformation in Organisations

686 views

Published on

(Invited) talk given at a symposium organised for the chemical sector to open the session on computational chemistry.

Published in: Engineering
  • //DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... //DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... //DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... //DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... //DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... //DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... //DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Software Engineering Excellence - The key to mastering the Digital Transformation in Organisations

  1. 1. Daniel Méndez Software & Systems Engineering Software Engineering Excellence – The key to mastering the Digital Transformation in Organisations @mendezfe
  2. 2. http://zentrum-digitalisierung.bayern
  3. 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. 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. 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. 6. * MarcAndreessen (WSJ, 2011) “Software is eating the world”
  7. 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. 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. 9. 100.000 lines of code (We’re getting somewhere…)
  10. 10. 100.000 lines of code
  11. 11. Typical iPhone app
  12. 12. Typical iPhone app Hubble Space Telescope
  13. 13. Typical iPhone app Hubble Space Telescope Mars Curiosity Rover
  14. 14. 10.000.000 lines of code Typical iPhone app Hubble Space Telescope Mars Curiosity Rover Firefox browser
  15. 15. 10.000.000 lines of code
  16. 16. Large Hydron Collider
  17. 17. Large Hydron Collider Facebook
  18. 18. Large Hydron Collider Facebook Modern high-end car
  19. 19. Large Hydron Collider Facebook Modern high-end car Total DNA* of a mouse (*base pairs in genome)
  20. 20. Large Hydron Collider Facebook Modern high-end car Total DNA* of a mouse (*base pairs in genome) Google codebase 2.000.000.000 lines of code
  21. 21. “Software is eating the world”, indeed * MarcAndreessen (WSJ, 2011)
  22. 22. Software-driven Transformation swallows all Industrial Sectors (Higher) Education ? …
  23. 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
  24. 24. What is their business model?
  25. 25. ? In Mrd. USD USA Asien JD.com 48 Salesforce.com 49 priceline.com 63 Baidu 72 eBay 73 Tencent Holding 190 Amazon 199 Facebook 226 Alibaba 233 Google 373 Market Value of TOP-10-Internet companies 10/2015 Platform provider
  26. 26. Meanwhile, Digitisation in Germany as it is perceived
  27. 27. How to master the Digital Transformation?
  28. 28. As a first step: Increase awareness about the role of software What does this mean for my organisation?
  29. 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. 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. 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. 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

×