⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inssort.c

📁 一些查找和排序的算法源码
💻 C
字号:
#include <stdio.h>

#define seqListDataSize	50

typedef seqListDataType	int
typedef struct 
{
	recordDataType element[recordDataSize];
	int length;
}seqList

void insSort(seqList *l)
{
	int i,j;
	for(i=2;i<=l.length;i++)
	{
		l.element[0]=l.element[i];
		j=i-1;
		while(l.element[0]<l.element[j])
		{
			l.element[j+1]=l.element[j];			
			j--;
		}
		l.element[j+1]=l.element[0];
	}
}

void binSort(seqList *l)
{
	int i,j,low,mid,high;
	for(i=2;i<=l.length;i++)
	{
		l.element[0]=l.element[i];
		low=1;
		high=i-1;
		while(low<=high)
		{
			mid=(low+high)/2;
			if(l.element[i]<l.element[mid])
				high=mid-1;
			else
				low=mid+1;
		}
		for(j=i-1;j>=low;j--)
			l.element[j+1]=l.element[j];
		l.element[low]=l.element[0];
	}
}


void shellInsert(seqList *l,int delta)
{
	int i,j;
	for(i=1+delta;i<=l.length;i++)
	{
		if(l.element[i]<l.element[i-delta])
		{
			l.element[0]=l.element[i];
			for(j=i-delta;j>0 && l.element[0]<l.element[j];j-=delta)
				l.element[j+delta]=l.element[j];
			l.element[j+delta]=l.element[0];
		}		
	}
}
void shellSort(seqList *l,int delta,int n)
{
	int i;
	for(i=0;i<n-1;i++)
		shellInsert(l,delta[i]);		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -