#include <list>#include <iterator>#include <iostream>using namespace std ;struct Obj{int x ;int y ;int val ;void show (){cout << " x:" << x << ",y:" << y << ",val:" << val ;}};list < Obj > insert_sort ( list < Obj > ils ){list < Obj > olis ;list < Obj >:: iterator it = ils . begin ();while ( it != ils . end ()){if ( olis . empty ()){olis . push_back ( * it );}else{list < Obj >:: iterator tempIt = olis . begin ();while ( tempIt != olis . end ()){if ( it -> val < tempIt -> val ){tempIt ++ ;}else{break ;}}olis . insert ( tempIt , 1 ,( * it ));}it ++ ;}return olis ;}#define MAX_N 100;void main (){srand ( 12345 );list < Obj > ils ;int a [] = { 1 , 0 , 3 , 2 , 4 , 5 , 7 , 8 , 9 , 6 };for ( int i = 0 ; i < sizeof ( a ) / sizeof ( int ) ; ++ i ){Obj oj ;oj . val = a [ i ];oj . x = rand () % MAX_N ;oj . y = rand () % MAX_N ;ils . push_back ( oj );}list < Obj >:: iterator it = ils . begin ();while ( it != ils . end ()){it -> show ();it ++ ;}cout << endl ;//list < Obj > olis = insert_sort ( ils );it = olis . begin ();while ( it != olis . end ()){it -> show ();it ++ ;}cout << endl ;system ( "pause" );}
插入排序
最新推荐文章于 2023-09-23 17:47:53 发布