#include stdio.h#include stdbool.h#define MAX 7int intArray[MAX] = {4,6,3,2,1,9,7};void printline(int count) {
编程学习网为您整理以下代码实例,主要实现:C语言数据结构希尔排序,希望可以帮到各位朋友。
#include <stdio.h>
#include <stdbool.h>
#define MAX 7
int intArray[MAX] = {4,6,3,2,1,9,7};
voID printline(int count) {
   int i;
   for(i = 0;i < count-1;i++) {
      printf("=");
   }
   printf("=\n");
}
voID display() {
   int i;
   printf("[");
   // navigate through all items 
   for(i = 0;i < MAX;i++) {
      printf("%d ",intArray[i]);
   }
   printf("]\n");
}
voID shellsort() {
   int inner, outer;
   int valuetoInsert;
   int interval = 1;   
   int elements = MAX;
   int i = 0;
   while(interval <= elements/3) {
      interval = interval*3 +1;
   }
   while(interval > 0) {
      printf("iteration %d#:",i); 
      display();
      for(outer = interval; outer < elements; outer++) {
         valuetoInsert = intArray[outer];
         inner = outer;
         while(inner > interval -1 && intArray[inner - interval] 
            >= valuetoInsert) {
            intArray[inner] = intArray[inner - interval];
            inner -=interval;
            printf(" item moved :%d\n",intArray[inner]);
         }
         intArray[inner] = valuetoInsert;
         printf(" item inserted :%d, at position :%d\n",valuetoInsert,inner);
      }
      interval = (interval -1) /3;
      i++;
   }          
}
int main() {
   printf("input Array: ");
   display();
   printline(50);
   shellsort();
   printf("Output Array: ");
   display();
   printline(50);
   return 1;
}
				 沃梦达教程
				
			本文标题为:C语言数据结构希尔排序
				
        
 
            
        基础教程推荐
             猜你喜欢
        
	     - 用指数格式表示浮点数 1970-01-01
 - 迭代std :: bitset中真实位的有效方法? 2022-10-18
 - 对 STL 容器的安全并行只读访问 2022-10-25
 - 总计将在节日礼物上花多少钱 1970-01-01
 - C++:为什么结构类需要一个虚拟方法才能成为多态? 2022-10-19
 - 明确指定任何或所有枚举数的整数值 1970-01-01
 - 向量<unique_ptr<A>>使用初始化列表 2022-10-23
 - C语言数组 1970-01-01
 - C语言3个整数的数组 1970-01-01
 - C++多态 1970-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
				
				
				
				