1:数据结构与算法分析(c语言描述)引论(1)

在11月12号在亚马逊买的这本书,第天就送到了,随手翻了翻。。严峻的意识到这貌似不是我能看懂的。。因为这货在前言就说她适合作为高级数据结构或者研究生第一年算法分析课程的教材。。在引论开篇举得第两个例子排序倒是知道,让我解个字谜我真心跪啊。。。在加上学校还有一些活动,就和k&r一起扔在角落,今天我终于鼓起勇气认真的看了第一章。没有被写作数列前n项和读作级数的数学基础吓到,随意的看到了课后习题。华丽的跪在第一题下。目前只能流利敲出冒泡的我想写个插入排序,惨败。不是说好要教我算法的吗,第一题就写排序没问题?而且还要列出个表格虽然我有思路可是很麻烦的好吗=_=

晾一下代码。

#include <stdio.h>
#include <stdlib.h>
#include <time.h> 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void assignmentForArray(int *,int);
void showArray(int *,int);
void insertSort(int *,int);
void sort(int *,int);
void bubblesort(int*,int);
int size;
int main(int argc, char *argv[]) 
{
	size=9000;
	int arr[size];
    assignmentForArray(arr,size);

	clock_t s1=clock();
//	insertSort(arr,size); //142
//	bubblesort(arr,size);//213
    sort(arr,size);
	clock_t e1=clock();
//  showArray(arr,size/2);//98

//	showArray(arr,size);
	printf("%d",arr[size/2]);
	//assignmentForArray(arr,size);
    
	printf("*******%d*****%d****%d*",s1,e1,e1-s1);
	
//	printf("%d",size/2);
	
	
	return 0;
}
void showArray(int *arr,int size)
{
	int i;
	for(i=0;i<size;i++)
	{
		printf("%d\n",arr[i]);
	}
}
void assignmentForArray(int *arr,int size)
{
	int i;
	for(i=size;i>0;i--)
	{
		arr[i]=i;
	}	
}

void insertSort(int *arr,int size)
{
	int i,j,k,temp;
	
	for(i=1;i<=size;i++)
	{
		j=0;
		while(j<i&&arr[j]>arr[i])j++;
				
		if(j<i)
		{
		 	k = i;
         	temp = arr[i];
        while(j<k)
    	  {
              arr[k] = arr[k-1];
              k--;
          }
        arr[k] = temp;
        
		}                              
	}

}
void sort(int *arr,int size)
{
		int i,j,k,t,temp;
	
	for(i=1;i<=size/2;i++)
	{
		j=0;
		while(j<i&&arr[j]>arr[i]) j++;
				
		if(j<i)
		{
		 	k = i;
         	temp = arr[i];
        while(j<k)
    	  {
              arr[k] = arr[k-1];
              k--;
          }
        arr[k] = temp;
        
		}        
		    
		for(t=size/2;t<size;t++)
		{
			if(arr[size/2]>arr[t])
			{
				temp=arr[t];
				arr[t]=arr[size/2];
				arr[size/2]=temp;
			}
		}                  
	}
}
void bubblesort(int* arr,int size)
{
	int i,j,temp;
	for( i=0;i<size;i++)
	{
		for(j=i+1;j<size;j++)
		{
			if(arr[j]>arr[i])
			{
				temp=arr[j];
				arr[j]=arr[i];
				arr[i]=temp;
			}
		}
	}
}

/*槽点:clock倒底是显示的是什么?k&r后面说的跟没说一样啊。。

吗。。就算是做出第一题了。

但是等我做到第二题的时候真心是完全不懂,虽然说提示了“两种都不难编码的算法”,但臣妾只能说懂得思路就是敲不出啊。。。。至于后面与高数作业相似度99%的题真是懒得看。。。

也许我该换本书?大话数据结构和算法第四版风评很好。但是lucida看的第一书也是这样的(我的算法学习之路)。所以想了想还是继续加油吧

临书涕零,特作此文以记之。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值