程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言:時間復雜度為O(1)的兩則小程序

C語言:時間復雜度為O(1)的兩則小程序

編輯:關於C語言

C語言:時間復雜度為O(1)的兩則小程序


這兩個例子都是用了同一種編程思想:對於字符的操作,char類型最多可以有256個字符,但是可以滿足對大小寫、數字、其他基本字符的使用。利用字符的ascii碼值作為大小為256的數組的下標,將要查找的內容/條件填充到數組裡,這樣通過查看對應下標的內容,即可實現相應操作。 這就是時間復雜度為O(1)的編程思想,這也是基於哈希表的一種,關於哈希表請自己查看。   下面看第一個例子:當輸入小寫字母a,輸出大寫字母Z,當輸入小寫字母b,輸出大寫字母Y,...當輸入小寫字母z,輸出大寫字母A
  1 #include<stdio.h>
  2 #include<string.h>
  3 
  4 void change(char arr[],int ch){
  5         int i=0;
  6         int j=90;
  7         for(i=97;i<123;i++){              //對arr[256]中a-z的下標裡逐個放入Z-A
  8                         arr[i]=j--;
  9         }
 10         printf("%c\n",arr[ch]);
 11 }
 12 
 13 int main(){
 14         char arr[256]= {0};
 15         int ch =0;
 16         ch=getchar();
 17         change(arr,ch);
 18         return 0;
 19 }

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved