90 likes | 241 Views
アルゴリズムとデータ構造 補足資料 7-1 「メモリでの 『 構造体の配列 』 」. 横浜国立大学 理工 学部 数物・電子情報系学科 富井尚志. struct item{ int key ; char name[7] ; } ; main() { struct item x ; x . key = 1536; x . name [0] =‘Y’; x . name [1] =‘N’; x . name [2] =‘U’; x . name [3] =‘’; … }. x. x . key.
E N D
アルゴリズムとデータ構造補足資料7-1「メモリでの『構造体の配列』」アルゴリズムとデータ構造補足資料7-1「メモリでの『構造体の配列』」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志
struct item{ intkey; char name[7]; } ; main() { struct item x; x.key = 1536; x.name[0]=‘Y’; x.name[1]=‘N’; x.name[2]=‘U’; x.name[3]=‘\0’; … } x x.key x.name x.name[0] x.name[1] x.name[2] x.name[3] x.name[4] x.name[5] x.name[7]
struct item{ intkey; char name[7]; } ; main() { struct item x; x.key = 1536; x.name[0]=‘Y’; x.name[1]=‘N’; x.name[2]=‘U’; x.name[3]=‘\0’; … } x x.key x.name x.name[0] x.name[1] x.name[2] x.name[3] x.name[4] x.name[5] x.name[7]
struct item{ intkey; char name[7]; } ; main() { struct item x; x.key = 1536; x.name[0]=‘Y’; x.name[1]=‘N’; x.name[2]=‘U’; x.name[3]=‘\0’; … } x x.key 1536 x.name x.name[0] Y x.name[1] N x.name[2] U \0 x.name[3] x.name[4] x.name[5] x.name[7]
struct item{ intkey; char name[7]; } ; main() { struct item x; x.key = 1536; x.name[0]=‘Y’; x.name[1]=‘N’; x.name[2]=‘U’; x.name[3]=‘\0’; … } x x.key 1536 x.name YNU
struct item{ intkey; char name[7]; } ; main() { struct item a[5]; a[0].key = 1536; a[0].name[0]=‘Y’; a[0].name[1]=‘N’; a[0].name[2]=‘U’; a[0].name[3]=‘\0’; a[1].key = 256; a[1].name[0]=‘M’; a[1].name[1]=‘I’; a[1].name[2]=‘T’; a[1].name[3]=‘\0’; … } a[0] a[0].key a[0].name a[0].name[0] a[0]. name[1] a[0]. name[2] a[0]. name[3] a[0]. name[4] a[0]. name[5] a[0]. name[7] a[1] a[1].key a[1].name a[1].name[0] a[1]. name[1] a[1]. name[2] a[1]. name[3] a[1]. name[4] a[1]. name[5] a[1]. name[7]
struct item{ intkey; char name[7]; } ; main() { struct item a[5]; a[0].key = 1536; a[0].name[0]=‘Y’; a[0].name[1]=‘N’; a[0].name[2]=‘U’; a[0].name[3]=‘\0’; a[1].key = 256; a[1].name[0]=‘M’; a[1].name[1]=‘I’; a[1].name[2]=‘T’; a[1].name[3]=‘\0’; … } a[0] a[0].key 1536 a[0]. name YNU a[1] a[1].key 256 a[1]. name MIT a[2] a[2].key 2049 a[2]. name UCLA a[3] a[3].key 87 a[3]. name TU/e a[4] a[4].key 1562 a[4]. name BYU
a[0] a[0] a[0].key 1536 a[0].key 87 a[0]. name YNU a[0]. name TU/e a[1] a[1] a[1].key 256 a[1].key 256 a[1]. name MIT a[1]. name MIT a[2] a[2] a[2].key 2049 a[2].key 1536 sort(a,5) a[2]. name UCLA a[2]. name YNU a[3] a[3] a[3].key 87 a[3].key 1562 a[3]. name TU/e a[3]. name BYU a[4] a[4] a[4].key 1562 a[4].key 2049 a[4]. name BYU a[4]. name UCLA 整列(sort)前 整列(sort)後
a[0] a[1] a[2] a[3] a[4] a[0].key 1536 a[1].key 256 a[2].key 2049 a[3].key 87 a[4].key 1562 a[0]. name YNU a[1]. name MIT a[2]. name UCLA a[3]. name TU/e a[4]. name BYU sort(a,5) a[0] a[1] a[2] a[3] a[4] a[0].key 87 a[1].key 256 a[2].key 1536 a[3].key 1562 a[4].key 2049 a[0]. name TU/e a[1]. name MIT a[2]. name YNU a[3]. name BYU a[4]. name UCLA