第八周课下作业1 20155210

第八周课下作业1

4.47:

main:

#include<stdio.h>
main()
{
long data[5]={1000,999,998,1324,1588};
bubble_a(data,5);
for(int i=0;i<5;i++)
{
printf("%ld\n",data[i]);
}
}

bubble_a:

void bubble_a(long *data,long count)
{
long i,last;
for(last=count-1;last>0;last--){
for(i=0;i<last;i++)
if(*(data+i+1)<*(data+i))
{
long t=*(data+i+1);
*(data+i+i)=(data+i);
*(data+i)=t;
}
}
}
0000000000000000 <bubble_a>:
   0:	55                   	push   %rbp
   1:	48 89 e5             	mov    %rsp,%rbp
   4:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
   8:	48 89 75 d0          	mov    %rsi,-0x30(%rbp)
   c:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
  10:	48 83 e8 01          	sub    $0x1,%rax
  14:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  18:	e9 c2 00 00 00       	jmpq   df <bubble_a+0xdf>
  1d:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
  24:	00 
  25:	e9 a2 00 00 00       	jmpq   cc <bubble_a+0xcc>
  2a:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  2e:	48 83 c0 01          	add    $0x1,%rax
  32:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
  39:	00 
  3a:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  3e:	48 01 d0             	add    %rdx,%rax
  41:	48 8b 10             	mov    (%rax),%rdx
  44:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  48:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
  4f:	00 
  50:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  54:	48 01 c8             	add    %rcx,%rax
  57:	48 8b 00             	mov    (%rax),%rax
  5a:	48 39 c2             	cmp    %rax,%rdx
  5d:	7d 68                	jge    c7 <bubble_a+0xc7>
  5f:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  63:	48 83 c0 01          	add    $0x1,%rax
  67:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
  6e:	00 
  6f:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  73:	48 01 d0             	add    %rdx,%rax
  76:	48 8b 00             	mov    (%rax),%rax
  79:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
  7d:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  81:	48 83 c0 01          	add    $0x1,%rax
  85:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
  8c:	00 
  8d:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  91:	48 01 c2             	add    %rax,%rdx
  94:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  98:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
  9f:	00 
  a0:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  a4:	48 01 c8             	add    %rcx,%rax
  a7:	48 8b 00             	mov    (%rax),%rax
  aa:	48 89 02             	mov    %rax,(%rdx)
  ad:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  b1:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
  b8:	00 
  b9:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
  bd:	48 01 c2             	add    %rax,%rdx
  c0:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  c4:	48 89 02             	mov    %rax,(%rdx)
  c7:	48 83 45 e8 01       	addq   $0x1,-0x18(%rbp)
  cc:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  d0:	48 3b 45 f0          	cmp    -0x10(%rbp),%rax
  d4:	0f 8c 50 ff ff ff    	jl     2a <bubble_a+0x2a>
  da:	48 83 6d f0 01       	subq   $0x1,-0x10(%rbp)
  df:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
  e4:	0f 8f 33 ff ff ff    	jg     1d <bubble_a+0x1d>
  ea:	90                   	nop
  eb:	5d                   	pop    %rbp
  ec:	c3                   	retq   

4.48:

void bubble_a(long data[],long count)
{
long i,last;
for(last=count-1;last>0;last--){
for(i=0;i<last;i++)
if(data[i+1]<data[i])
{
long t=data[i+1];
data[i+1]=data[i];
data[i]=t;
}
}
}

4.49:

void bubble_a(long data[])
{
long i,last;
for(last=0;data[last+1]!='\0';last++){
for(i=0;data[i+1]!='\0';i++)
if(data[i+1]<data[i])
{
long t=data[i+1];
data[i+1]=data[i];
data[i]=t;
}
}
}

posted @ 2017-11-11 12:24  20155210潘滢昊  阅读(128)  评论(0编辑  收藏  举报